// $ANTLR 3.4 C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g 2012-10-18 22:21:05

   package flexgram;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

import org.antlr.runtime.tree.*;


@SuppressWarnings({"all", "warnings", "unchecked"})
public class FlexParser extends Parser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "ASTER", "BLOQCL", "BLOQOP", "CAR", "CHAR", "CJTOCAR", "COMA", "COMMENT", "CORCL", "COROP", "EQ", "ESC_SEQ", "EXPONENT", "FLOAT", "HEX_DIGIT", "ID", "IND", "INT", "LLAVCL", "LLAVOP", "NEWLINE", "OCTAL_ESC", "OPINC", "OR", "PARCL", "PAROP", "PLUS", "RANGO", "REF", "SECCION", "SEMI", "SPACE", "STR", "STRING", "UNICODE_ESC"
    };

    public static final int EOF=-1;
    public static final int ASTER=4;
    public static final int BLOQCL=5;
    public static final int BLOQOP=6;
    public static final int CAR=7;
    public static final int CHAR=8;
    public static final int CJTOCAR=9;
    public static final int COMA=10;
    public static final int COMMENT=11;
    public static final int CORCL=12;
    public static final int COROP=13;
    public static final int EQ=14;
    public static final int ESC_SEQ=15;
    public static final int EXPONENT=16;
    public static final int FLOAT=17;
    public static final int HEX_DIGIT=18;
    public static final int ID=19;
    public static final int IND=20;
    public static final int INT=21;
    public static final int LLAVCL=22;
    public static final int LLAVOP=23;
    public static final int NEWLINE=24;
    public static final int OCTAL_ESC=25;
    public static final int OPINC=26;
    public static final int OR=27;
    public static final int PARCL=28;
    public static final int PAROP=29;
    public static final int PLUS=30;
    public static final int RANGO=31;
    public static final int REF=32;
    public static final int SECCION=33;
    public static final int SEMI=34;
    public static final int SPACE=35;
    public static final int STR=36;
    public static final int STRING=37;
    public static final int UNICODE_ESC=38;

    // delegates
    public Parser[] getDelegates() {
        return new Parser[] {};
    }

    // delegators


    public FlexParser(TokenStream input) {
        this(input, new RecognizerSharedState());
    }
    public FlexParser(TokenStream input, RecognizerSharedState state) {
        super(input, state);
    }

protected TreeAdaptor adaptor = new CommonTreeAdaptor();

public void setTreeAdaptor(TreeAdaptor adaptor) {
    this.adaptor = adaptor;
}
public TreeAdaptor getTreeAdaptor() {
    return adaptor;
}
    public String[] getTokenNames() { return FlexParser.tokenNames; }
    public String getGrammarFileName() { return "C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g"; }


    public static class bloque_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };


    // $ANTLR start "bloque"
    // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:125:1: bloque : BLOQOP ( options {greedy=false; } : . )* BLOQCL ;
    public final FlexParser.bloque_return bloque() throws RecognitionException {
        FlexParser.bloque_return retval = new FlexParser.bloque_return();
        retval.start = input.LT(1);


        Object root_0 = null;

        Token BLOQOP1=null;
        Token wildcard2=null;
        Token BLOQCL3=null;

        Object BLOQOP1_tree=null;
        Object wildcard2_tree=null;
        Object BLOQCL3_tree=null;

        try {
            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:125:7: ( BLOQOP ( options {greedy=false; } : . )* BLOQCL )
            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:125:9: BLOQOP ( options {greedy=false; } : . )* BLOQCL
            {
            root_0 = (Object)adaptor.nil();


            BLOQOP1=(Token)match(input,BLOQOP,FOLLOW_BLOQOP_in_bloque920); 
            BLOQOP1_tree = 
            (Object)adaptor.create(BLOQOP1)
            ;
            adaptor.addChild(root_0, BLOQOP1_tree);


            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:125:16: ( options {greedy=false; } : . )*
            loop1:
            do {
                int alt1=2;
                alt1 = dfa1.predict(input);
                switch (alt1) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:125:41: .
            	    {
            	    wildcard2=(Token)input.LT(1);

            	    matchAny(input); 
            	    wildcard2_tree = (Object)adaptor.create(wildcard2);
            	    adaptor.addChild(root_0, wildcard2_tree);


            	    }
            	    break;

            	default :
            	    break loop1;
                }
            } while (true);


            BLOQCL3=(Token)match(input,BLOQCL,FOLLOW_BLOQCL_in_bloque934); 
            BLOQCL3_tree = 
            (Object)adaptor.create(BLOQCL3)
            ;
            adaptor.addChild(root_0, BLOQCL3_tree);


            }

            retval.stop = input.LT(-1);


            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }

        finally {
        	// do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "bloque"


    public static class fichero_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };


    // $ANTLR start "fichero"
    // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:127:1: fichero : definiciones ( bloque )? SECCION reglas ( SECCION codigo )? ;
    public final FlexParser.fichero_return fichero() throws RecognitionException {
        FlexParser.fichero_return retval = new FlexParser.fichero_return();
        retval.start = input.LT(1);


        Object root_0 = null;

        Token SECCION6=null;
        Token SECCION8=null;
        FlexParser.definiciones_return definiciones4 =null;

        FlexParser.bloque_return bloque5 =null;

        FlexParser.reglas_return reglas7 =null;

        FlexParser.codigo_return codigo9 =null;


        Object SECCION6_tree=null;
        Object SECCION8_tree=null;

        try {
            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:127:9: ( definiciones ( bloque )? SECCION reglas ( SECCION codigo )? )
            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:127:11: definiciones ( bloque )? SECCION reglas ( SECCION codigo )?
            {
            root_0 = (Object)adaptor.nil();


            pushFollow(FOLLOW_definiciones_in_fichero942);
            definiciones4=definiciones();

            state._fsp--;

            adaptor.addChild(root_0, definiciones4.getTree());

            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:127:24: ( bloque )?
            int alt2=2;
            int LA2_0 = input.LA(1);

            if ( (LA2_0==BLOQOP) ) {
                alt2=1;
            }
            switch (alt2) {
                case 1 :
                    // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:127:25: bloque
                    {
                    pushFollow(FOLLOW_bloque_in_fichero945);
                    bloque5=bloque();

                    state._fsp--;

                    adaptor.addChild(root_0, bloque5.getTree());

                    }
                    break;

            }


            SECCION6=(Token)match(input,SECCION,FOLLOW_SECCION_in_fichero949); 
            SECCION6_tree = 
            (Object)adaptor.create(SECCION6)
            ;
            adaptor.addChild(root_0, SECCION6_tree);


            pushFollow(FOLLOW_reglas_in_fichero951);
            reglas7=reglas();

            state._fsp--;

            adaptor.addChild(root_0, reglas7.getTree());

            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:127:49: ( SECCION codigo )?
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0==SECCION) ) {
                alt3=1;
            }
            switch (alt3) {
                case 1 :
                    // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:127:50: SECCION codigo
                    {
                    SECCION8=(Token)match(input,SECCION,FOLLOW_SECCION_in_fichero954); 
                    SECCION8_tree = 
                    (Object)adaptor.create(SECCION8)
                    ;
                    adaptor.addChild(root_0, SECCION8_tree);


                    pushFollow(FOLLOW_codigo_in_fichero956);
                    codigo9=codigo();

                    state._fsp--;

                    adaptor.addChild(root_0, codigo9.getTree());

                    }
                    break;

            }


            }

            retval.stop = input.LT(-1);


            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }

        finally {
        	// do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "fichero"


    public static class definiciones_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };


    // $ANTLR start "definiciones"
    // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:129:1: definiciones : ( definicion )+ ;
    public final FlexParser.definiciones_return definiciones() throws RecognitionException {
        FlexParser.definiciones_return retval = new FlexParser.definiciones_return();
        retval.start = input.LT(1);


        Object root_0 = null;

        FlexParser.definicion_return definicion10 =null;



        try {
            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:129:14: ( ( definicion )+ )
            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:129:16: ( definicion )+
            {
            root_0 = (Object)adaptor.nil();


            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:129:16: ( definicion )+
            int cnt4=0;
            loop4:
            do {
                int alt4=2;
                int LA4_0 = input.LA(1);

                if ( (LA4_0==ID) ) {
                    alt4=1;
                }


                switch (alt4) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:129:17: definicion
            	    {
            	    pushFollow(FOLLOW_definicion_in_definiciones967);
            	    definicion10=definicion();

            	    state._fsp--;

            	    adaptor.addChild(root_0, definicion10.getTree());

            	    }
            	    break;

            	default :
            	    if ( cnt4 >= 1 ) break loop4;
                        EarlyExitException eee =
                            new EarlyExitException(4, input);
                        throw eee;
                }
                cnt4++;
            } while (true);


            }

            retval.stop = input.LT(-1);


            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }

        finally {
        	// do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "definiciones"


    public static class definicion_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };


    // $ANTLR start "definicion"
    // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:131:1: definicion : name valor ;
    public final FlexParser.definicion_return definicion() throws RecognitionException {
        FlexParser.definicion_return retval = new FlexParser.definicion_return();
        retval.start = input.LT(1);


        Object root_0 = null;

        FlexParser.name_return name11 =null;

        FlexParser.valor_return valor12 =null;



        try {
            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:131:12: ( name valor )
            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:131:14: name valor
            {
            root_0 = (Object)adaptor.nil();


            pushFollow(FOLLOW_name_in_definicion977);
            name11=name();

            state._fsp--;

            adaptor.addChild(root_0, name11.getTree());

            pushFollow(FOLLOW_valor_in_definicion979);
            valor12=valor();

            state._fsp--;

            adaptor.addChild(root_0, valor12.getTree());

            }

            retval.stop = input.LT(-1);


            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }

        finally {
        	// do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "definicion"


    public static class name_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };


    // $ANTLR start "name"
    // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:133:1: name : ID ;
    public final FlexParser.name_return name() throws RecognitionException {
        FlexParser.name_return retval = new FlexParser.name_return();
        retval.start = input.LT(1);


        Object root_0 = null;

        Token ID13=null;

        Object ID13_tree=null;

        try {
            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:133:6: ( ID )
            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:133:8: ID
            {
            root_0 = (Object)adaptor.nil();


            ID13=(Token)match(input,ID,FOLLOW_ID_in_name987); 
            ID13_tree = 
            (Object)adaptor.create(ID13)
            ;
            adaptor.addChild(root_0, ID13_tree);


            }

            retval.stop = input.LT(-1);


            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }

        finally {
        	// do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "name"


    public static class valor_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };


    // $ANTLR start "valor"
    // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:135:1: valor : SPACE ( options {greedy=false; } : . )* NEWLINE ;
    public final FlexParser.valor_return valor() throws RecognitionException {
        FlexParser.valor_return retval = new FlexParser.valor_return();
        retval.start = input.LT(1);


        Object root_0 = null;

        Token SPACE14=null;
        Token wildcard15=null;
        Token NEWLINE16=null;

        Object SPACE14_tree=null;
        Object wildcard15_tree=null;
        Object NEWLINE16_tree=null;

        try {
            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:135:6: ( SPACE ( options {greedy=false; } : . )* NEWLINE )
            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:135:8: SPACE ( options {greedy=false; } : . )* NEWLINE
            {
            root_0 = (Object)adaptor.nil();


            SPACE14=(Token)match(input,SPACE,FOLLOW_SPACE_in_valor994); 
            SPACE14_tree = 
            (Object)adaptor.create(SPACE14)
            ;
            adaptor.addChild(root_0, SPACE14_tree);


            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:135:14: ( options {greedy=false; } : . )*
            loop5:
            do {
                int alt5=2;
                alt5 = dfa5.predict(input);
                switch (alt5) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:135:39: .
            	    {
            	    wildcard15=(Token)input.LT(1);

            	    matchAny(input); 
            	    wildcard15_tree = (Object)adaptor.create(wildcard15);
            	    adaptor.addChild(root_0, wildcard15_tree);


            	    }
            	    break;

            	default :
            	    break loop5;
                }
            } while (true);


            NEWLINE16=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_valor1008); 
            NEWLINE16_tree = 
            (Object)adaptor.create(NEWLINE16)
            ;
            adaptor.addChild(root_0, NEWLINE16_tree);


            }

            retval.stop = input.LT(-1);


            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }

        finally {
        	// do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "valor"


    public static class reglas_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };


    // $ANTLR start "reglas"
    // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:137:1: reglas : ( regla )+ ;
    public final FlexParser.reglas_return reglas() throws RecognitionException {
        FlexParser.reglas_return retval = new FlexParser.reglas_return();
        retval.start = input.LT(1);


        Object root_0 = null;

        FlexParser.regla_return regla17 =null;



        try {
            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:137:7: ( ( regla )+ )
            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:137:9: ( regla )+
            {
            root_0 = (Object)adaptor.nil();


            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:137:9: ( regla )+
            int cnt6=0;
            loop6:
            do {
                int alt6=2;
                int LA6_0 = input.LA(1);

                if ( ((LA6_0 >= ASTER && LA6_0 <= REF)||(LA6_0 >= SEMI && LA6_0 <= UNICODE_ESC)) ) {
                    alt6=1;
                }


                switch (alt6) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:137:10: regla
            	    {
            	    pushFollow(FOLLOW_regla_in_reglas1016);
            	    regla17=regla();

            	    state._fsp--;

            	    adaptor.addChild(root_0, regla17.getTree());

            	    }
            	    break;

            	default :
            	    if ( cnt6 >= 1 ) break loop6;
                        EarlyExitException eee =
                            new EarlyExitException(6, input);
                        throw eee;
                }
                cnt6++;
            } while (true);


            }

            retval.stop = input.LT(-1);


            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }

        finally {
        	// do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "reglas"


    public static class regla_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };


    // $ANTLR start "regla"
    // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:139:1: regla : patron accion ;
    public final FlexParser.regla_return regla() throws RecognitionException {
        FlexParser.regla_return retval = new FlexParser.regla_return();
        retval.start = input.LT(1);


        Object root_0 = null;

        FlexParser.patron_return patron18 =null;

        FlexParser.accion_return accion19 =null;



        try {
            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:139:6: ( patron accion )
            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:139:8: patron accion
            {
            root_0 = (Object)adaptor.nil();


            pushFollow(FOLLOW_patron_in_regla1025);
            patron18=patron();

            state._fsp--;

            adaptor.addChild(root_0, patron18.getTree());

            pushFollow(FOLLOW_accion_in_regla1027);
            accion19=accion();

            state._fsp--;

            adaptor.addChild(root_0, accion19.getTree());

            }

            retval.stop = input.LT(-1);


            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }

        finally {
        	// do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "regla"


    public static class patron_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };


    // $ANTLR start "patron"
    // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:141:1: patron : ~ SECCION ( options {greedy=false; } : . )* SPACE ;
    public final FlexParser.patron_return patron() throws RecognitionException {
        FlexParser.patron_return retval = new FlexParser.patron_return();
        retval.start = input.LT(1);


        Object root_0 = null;

        Token set20=null;
        Token wildcard21=null;
        Token SPACE22=null;

        Object set20_tree=null;
        Object wildcard21_tree=null;
        Object SPACE22_tree=null;

        try {
            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:141:7: (~ SECCION ( options {greedy=false; } : . )* SPACE )
            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:141:9: ~ SECCION ( options {greedy=false; } : . )* SPACE
            {
            root_0 = (Object)adaptor.nil();


            set20=(Token)input.LT(1);

            if ( (input.LA(1) >= ASTER && input.LA(1) <= REF)||(input.LA(1) >= SEMI && input.LA(1) <= UNICODE_ESC) ) {
                input.consume();
                adaptor.addChild(root_0, 
                (Object)adaptor.create(set20)
                );
                state.errorRecovery=false;
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                throw mse;
            }


            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:141:18: ( options {greedy=false; } : . )*
            loop7:
            do {
                int alt7=2;
                alt7 = dfa7.predict(input);
                switch (alt7) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:141:43: .
            	    {
            	    wildcard21=(Token)input.LT(1);

            	    matchAny(input); 
            	    wildcard21_tree = (Object)adaptor.create(wildcard21);
            	    adaptor.addChild(root_0, wildcard21_tree);


            	    }
            	    break;

            	default :
            	    break loop7;
                }
            } while (true);


            SPACE22=(Token)match(input,SPACE,FOLLOW_SPACE_in_patron1049); 
            SPACE22_tree = 
            (Object)adaptor.create(SPACE22)
            ;
            adaptor.addChild(root_0, SPACE22_tree);


            }

            retval.stop = input.LT(-1);


            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }

        finally {
        	// do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "patron"


    public static class accion_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };


    // $ANTLR start "accion"
    // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:143:1: accion : ( options {greedy=false; } : . )* NEWLINE ;
    public final FlexParser.accion_return accion() throws RecognitionException {
        FlexParser.accion_return retval = new FlexParser.accion_return();
        retval.start = input.LT(1);


        Object root_0 = null;

        Token wildcard23=null;
        Token NEWLINE24=null;

        Object wildcard23_tree=null;
        Object NEWLINE24_tree=null;

        try {
            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:143:7: ( ( options {greedy=false; } : . )* NEWLINE )
            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:143:9: ( options {greedy=false; } : . )* NEWLINE
            {
            root_0 = (Object)adaptor.nil();


            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:143:9: ( options {greedy=false; } : . )*
            loop8:
            do {
                int alt8=2;
                alt8 = dfa8.predict(input);
                switch (alt8) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:143:34: .
            	    {
            	    wildcard23=(Token)input.LT(1);

            	    matchAny(input); 
            	    wildcard23_tree = (Object)adaptor.create(wildcard23);
            	    adaptor.addChild(root_0, wildcard23_tree);


            	    }
            	    break;

            	default :
            	    break loop8;
                }
            } while (true);


            NEWLINE24=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_accion1068); 
            NEWLINE24_tree = 
            (Object)adaptor.create(NEWLINE24)
            ;
            adaptor.addChild(root_0, NEWLINE24_tree);


            }

            retval.stop = input.LT(-1);


            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }

        finally {
        	// do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "accion"


    public static class codigo_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };


    // $ANTLR start "codigo"
    // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:145:1: codigo : ( options {greedy=false; } : . )* EOF ;
    public final FlexParser.codigo_return codigo() throws RecognitionException {
        FlexParser.codigo_return retval = new FlexParser.codigo_return();
        retval.start = input.LT(1);


        Object root_0 = null;

        Token wildcard25=null;
        Token EOF26=null;

        Object wildcard25_tree=null;
        Object EOF26_tree=null;

        try {
            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:145:7: ( ( options {greedy=false; } : . )* EOF )
            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:145:9: ( options {greedy=false; } : . )* EOF
            {
            root_0 = (Object)adaptor.nil();


            // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:145:9: ( options {greedy=false; } : . )*
            loop9:
            do {
                int alt9=2;
                int LA9_0 = input.LA(1);

                if ( (LA9_0==EOF) ) {
                    alt9=2;
                }
                else if ( ((LA9_0 >= ASTER && LA9_0 <= UNICODE_ESC)) ) {
                    alt9=1;
                }


                switch (alt9) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspaceN\\pract5\\src\\main\\java\\flexgram\\Flex.g:145:34: .
            	    {
            	    wildcard25=(Token)input.LT(1);

            	    matchAny(input); 
            	    wildcard25_tree = (Object)adaptor.create(wildcard25);
            	    adaptor.addChild(root_0, wildcard25_tree);


            	    }
            	    break;

            	default :
            	    break loop9;
                }
            } while (true);


            EOF26=(Token)match(input,EOF,FOLLOW_EOF_in_codigo1087); 
            EOF26_tree = 
            (Object)adaptor.create(EOF26)
            ;
            adaptor.addChild(root_0, EOF26_tree);


            }

            retval.stop = input.LT(-1);


            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }

        finally {
        	// do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "codigo"

    // Delegated rules


    protected DFA1 dfa1 = new DFA1(this);
    protected DFA5 dfa5 = new DFA5(this);
    protected DFA7 dfa7 = new DFA7(this);
    protected DFA8 dfa8 = new DFA8(this);
    static final String DFA1_eotS =
        "\u01f8\uffff";
    static final String DFA1_eofS =
        "\21\uffff\1\27\16\uffff\1\107\11\uffff\1\164\4\uffff\2\164\4\uffff"+
        "\1\164\4\uffff\1\u00c0\5\uffff\1\u00c0\16\uffff\1\u0105\12\uffff"+
        "\1\u0132\4\uffff\2\u0132\4\uffff\1\u0132\4\uffff\1\u017e\2\uffff"+
        "\1\u017e\16\uffff\1\u01b8\u017b\uffff";
    static final String DFA1_minS =
        "\2\4\1\uffff\1\4\2\uffff\2\4\1\uffff\13\4\2\uffff\1\4\1\uffff\32"+
        "\4\1\uffff\21\4\2\uffff\1\4\1\uffff\32\4\1\uffff\16\4\2\uffff\1"+
        "\4\1\uffff\22\4\u0171\uffff";
    static final String DFA1_maxS =
        "\2\46\1\uffff\1\46\2\uffff\2\46\1\uffff\13\46\2\uffff\1\46\1\uffff"+
        "\32\46\1\uffff\21\46\2\uffff\1\46\1\uffff\32\46\1\uffff\16\46\2"+
        "\uffff\1\46\1\uffff\22\46\u0171\uffff";
    static final String DFA1_acceptS =
        "\2\uffff\1\1\21\uffff\2\2\1\uffff\1\2\54\uffff\2\2\1\uffff\1\2\51"+
        "\uffff\2\2\1\uffff\1\2\22\uffff\3\2\1\uffff\26\2\1\uffff\5\2\1\uffff"+
        "\21\2\1\uffff\27\2\1\uffff\31\2\1\uffff\57\2\1\uffff\54\2\1\uffff"+
        "\26\2\1\uffff\5\2\1\uffff\21\2\1\uffff\27\2\1\uffff\16\2\1\uffff"+
        "\57\2\1\uffff\51\2";
    static final String DFA1_specialS =
        "\u01f8\uffff}>";
    static final String[] DFA1_transitionS = {
            "\1\2\1\1\41\2",
            "\35\2\1\3\5\2",
            "",
            "\1\7\1\6\33\7\1\2\5\7",
            "",
            "",
            "\1\14\1\13\33\14\1\12\1\14\1\11\3\14",
            "\1\17\1\16\35\17\1\15\3\17",
            "",
            "\1\23\1\22\22\23\1\21\12\23\1\20\3\23",
            "\1\27\1\25\33\27\1\26\1\27\1\24\3\27",
            "\1\33\1\32\33\33\1\31\1\33\1\30\3\33",
            "\1\36\1\35\35\36\1\34\3\36",
            "\1\42\1\41\22\42\1\40\12\42\1\37\3\42",
            "\1\46\1\45\33\46\1\44\1\46\1\43\3\46",
            "\1\51\1\50\35\51\1\47\3\51",
            "\1\55\1\54\22\55\1\52\12\55\1\53\3\55",
            "\1\63\1\61\22\63\1\57\10\63\1\60\1\63\1\56\3\63",
            "\1\70\1\67\22\70\1\65\10\70\1\66\1\70\1\64\3\70",
            "\1\74\1\73\22\74\1\72\12\74\1\71\3\74",
            "",
            "",
            "\1\77\1\76\35\77\1\75\3\77",
            "",
            "\1\103\1\102\22\103\1\100\12\103\1\101\3\103",
            "\1\107\1\105\33\107\1\106\1\107\1\104\3\107",
            "\1\113\1\112\33\113\1\111\1\113\1\110\3\113",
            "\1\116\1\115\35\116\1\114\3\116",
            "\1\122\1\121\22\122\1\117\12\122\1\120\3\122",
            "\1\126\1\125\33\126\1\124\1\126\1\123\3\126",
            "\1\131\1\130\35\131\1\127\3\131",
            "\1\135\1\134\22\135\1\132\12\135\1\133\3\135",
            "\1\143\1\141\22\143\1\137\10\143\1\140\1\143\1\136\3\143",
            "\1\150\1\147\22\150\1\145\10\150\1\146\1\150\1\144\3\150",
            "\1\154\1\153\22\154\1\152\12\154\1\151\3\154",
            "\1\160\1\157\22\160\1\155\12\160\1\156\3\160",
            "\1\164\1\162\33\164\1\163\1\164\1\161\3\164",
            "\1\170\1\167\33\170\1\166\1\170\1\165\3\170",
            "\1\173\1\172\35\173\1\171\3\173",
            "\1\177\1\176\22\177\1\174\12\177\1\175\3\177",
            "\1\u0083\1\u0082\33\u0083\1\u0081\1\u0083\1\u0080\3\u0083",
            "\1\u0086\1\u0085\35\u0086\1\u0084\3\u0086",
            "\1\u008c\1\u008b\22\u008c\1\u0087\10\u008c\1\u0088\1\u008c"+
            "\1\u0089\3\u008c",
            "\1\u0090\1\u008f\22\u0090\1\u008d\12\u0090\1\u008e\3\u0090",
            "\1\u0095\1\u0094\22\u0095\1\u0091\10\u0095\1\u0093\1\u0095"+
            "\1\u0092\3\u0095",
            "\1\u0099\1\u0098\22\u0099\1\u0096\12\u0099\1\u0097\3\u0099",
            "\1\u009d\1\u009c\22\u009d\1\u009a\12\u009d\1\u009b\3\u009d",
            "\1\u00a3\1\u00a2\22\u00a3\1\u00a0\10\u00a3\1\u009f\1\u00a3"+
            "\1\u009e\3\u00a3",
            "\1\u00a8\1\u00a6\22\u00a8\1\u00a5\12\u00a8\1\u00a4\3\u00a8",
            "\1\u00ad\1\u00ac\22\u00ad\1\u00aa\10\u00ad\1\u00ab\1\u00ad"+
            "\1\u00a9\3\u00ad",
            "",
            "\1\u00b1\1\u00b0\22\u00b1\1\u00af\12\u00b1\1\u00ae\3\u00b1",
            "\1\u00b5\1\u00b4\22\u00b5\1\u00b2\12\u00b5\1\u00b3\3\u00b5",
            "\1\u00bb\1\u00ba\22\u00bb\1\u00b8\10\u00bb\1\u00b7\1\u00bb"+
            "\1\u00b6\3\u00bb",
            "\1\u00c0\1\u00be\22\u00c0\1\u00bd\10\u00c0\1\u00bf\1\u00c0"+
            "\1\u00bc\3\u00c0",
            "\1\u00c5\1\u00c4\22\u00c5\1\u00c2\10\u00c5\1\u00c3\1\u00c5"+
            "\1\u00c1\3\u00c5",
            "\1\u00c9\1\u00c8\22\u00c9\1\u00c7\12\u00c9\1\u00c6\3\u00c9",
            "\1\u00cd\1\u00cc\22\u00cd\1\u00ca\12\u00cd\1\u00cb\3\u00cd",
            "\1\u00d3\1\u00d2\22\u00d3\1\u00d0\10\u00d3\1\u00cf\1\u00d3"+
            "\1\u00ce\3\u00d3",
            "\1\u00d8\1\u00d7\22\u00d8\1\u00d5\10\u00d8\1\u00d6\1\u00d8"+
            "\1\u00d4\3\u00d8",
            "\1\u00dc\1\u00db\22\u00dc\1\u00da\12\u00dc\1\u00d9\3\u00dc",
            "\1\u00e0\1\u00df\22\u00e0\1\u00dd\12\u00e0\1\u00de\3\u00e0",
            "\1\u00e4\1\u00e3\33\u00e4\1\u00e2\1\u00e4\1\u00e1\3\u00e4",
            "\1\u00e7\1\u00e6\35\u00e7\1\u00e5\3\u00e7",
            "\1\u00ed\1\u00ec\22\u00ed\1\u00e8\10\u00ed\1\u00e9\1\u00ed"+
            "\1\u00ea\3\u00ed",
            "\1\u00f1\1\u00f0\22\u00f1\1\u00ee\12\u00f1\1\u00ef\3\u00f1",
            "\1\u00f6\1\u00f5\22\u00f6\1\u00f2\10\u00f6\1\u00f4\1\u00f6"+
            "\1\u00f3\3\u00f6",
            "\1\u00fa\1\u00f9\22\u00fa\1\u00f7\12\u00fa\1\u00f8\3\u00fa",
            "",
            "",
            "\1\u00fd\1\u00fc\35\u00fd\1\u00fb\3\u00fd",
            "",
            "\1\u0101\1\u0100\22\u0101\1\u00fe\12\u0101\1\u00ff\3\u0101",
            "\1\u0105\1\u0103\33\u0105\1\u0104\1\u0105\1\u0102\3\u0105",
            "\1\u0109\1\u0108\33\u0109\1\u0107\1\u0109\1\u0106\3\u0109",
            "\1\u010c\1\u010b\35\u010c\1\u010a\3\u010c",
            "\1\u0110\1\u010f\22\u0110\1\u010d\12\u0110\1\u010e\3\u0110",
            "\1\u0114\1\u0113\33\u0114\1\u0112\1\u0114\1\u0111\3\u0114",
            "\1\u0117\1\u0116\35\u0117\1\u0115\3\u0117",
            "\1\u011d\1\u011c\22\u011d\1\u0118\10\u011d\1\u0119\1\u011d"+
            "\1\u011a\3\u011d",
            "\1\u0121\1\u0120\22\u0121\1\u011e\12\u0121\1\u011f\3\u0121",
            "\1\u0126\1\u0125\22\u0126\1\u0122\10\u0126\1\u0124\1\u0126"+
            "\1\u0123\3\u0126",
            "\1\u012a\1\u0129\22\u012a\1\u0127\12\u012a\1\u0128\3\u012a",
            "\1\u012e\1\u012d\22\u012e\1\u012b\12\u012e\1\u012c\3\u012e",
            "\1\u0132\1\u0130\33\u0132\1\u0131\1\u0132\1\u012f\3\u0132",
            "\1\u0136\1\u0135\33\u0136\1\u0134\1\u0136\1\u0133\3\u0136",
            "\1\u0139\1\u0138\35\u0139\1\u0137\3\u0139",
            "\1\u013d\1\u013c\22\u013d\1\u013a\12\u013d\1\u013b\3\u013d",
            "\1\u0141\1\u0140\33\u0141\1\u013f\1\u0141\1\u013e\3\u0141",
            "\1\u0144\1\u0143\35\u0144\1\u0142\3\u0144",
            "\1\u014a\1\u0149\22\u014a\1\u0145\10\u014a\1\u0146\1\u014a"+
            "\1\u0147\3\u014a",
            "\1\u014e\1\u014d\22\u014e\1\u014b\12\u014e\1\u014c\3\u014e",
            "\1\u0153\1\u0152\22\u0153\1\u014f\10\u0153\1\u0151\1\u0153"+
            "\1\u0150\3\u0153",
            "\1\u0157\1\u0156\22\u0157\1\u0154\12\u0157\1\u0155\3\u0157",
            "\1\u015b\1\u015a\22\u015b\1\u0158\12\u015b\1\u0159\3\u015b",
            "\1\u0161\1\u0160\22\u0161\1\u015e\10\u0161\1\u015d\1\u0161"+
            "\1\u015c\3\u0161",
            "\1\u0166\1\u0164\22\u0166\1\u0163\12\u0166\1\u0162\3\u0166",
            "\1\u016b\1\u016a\22\u016b\1\u0168\10\u016b\1\u0169\1\u016b"+
            "\1\u0167\3\u016b",
            "",
            "\1\u016f\1\u016e\22\u016f\1\u016d\12\u016f\1\u016c\3\u016f",
            "\1\u0173\1\u0172\22\u0173\1\u0170\12\u0173\1\u0171\3\u0173",
            "\1\u0179\1\u0178\22\u0179\1\u0176\10\u0179\1\u0175\1\u0179"+
            "\1\u0174\3\u0179",
            "\1\u017e\1\u017c\22\u017e\1\u017b\10\u017e\1\u017d\1\u017e"+
            "\1\u017a\3\u017e",
            "\1\u0183\1\u0182\22\u0183\1\u0180\10\u0183\1\u0181\1\u0183"+
            "\1\u017f\3\u0183",
            "\1\u0187\1\u0186\22\u0187\1\u0185\12\u0187\1\u0184\3\u0187",
            "\1\u018b\1\u018a\22\u018b\1\u0188\12\u018b\1\u0189\3\u018b",
            "\1\u0191\1\u0190\22\u0191\1\u018e\10\u0191\1\u018d\1\u0191"+
            "\1\u018c\3\u0191",
            "\1\u0196\1\u0195\22\u0196\1\u0193\10\u0196\1\u0194\1\u0196"+
            "\1\u0192\3\u0196",
            "\1\u019a\1\u0199\22\u019a\1\u0198\12\u019a\1\u0197\3\u019a",
            "\1\u01a0\1\u019f\22\u01a0\1\u019b\10\u01a0\1\u019c\1\u01a0"+
            "\1\u019d\3\u01a0",
            "\1\u01a4\1\u01a3\22\u01a4\1\u01a1\12\u01a4\1\u01a2\3\u01a4",
            "\1\u01a9\1\u01a8\22\u01a9\1\u01a5\10\u01a9\1\u01a7\1\u01a9"+
            "\1\u01a6\3\u01a9",
            "\1\u01ad\1\u01ac\22\u01ad\1\u01aa\12\u01ad\1\u01ab\3\u01ad",
            "",
            "",
            "\1\u01b0\1\u01af\35\u01b0\1\u01ae\3\u01b0",
            "",
            "\1\u01b4\1\u01b3\22\u01b4\1\u01b1\12\u01b4\1\u01b2\3\u01b4",
            "\1\u01b8\1\u01b6\33\u01b8\1\u01b7\1\u01b8\1\u01b5\3\u01b8",
            "\1\u01bc\1\u01bb\33\u01bc\1\u01ba\1\u01bc\1\u01b9\3\u01bc",
            "\1\u01bf\1\u01be\35\u01bf\1\u01bd\3\u01bf",
            "\1\u01c3\1\u01c2\22\u01c3\1\u01c0\12\u01c3\1\u01c1\3\u01c3",
            "\1\u01c7\1\u01c6\33\u01c7\1\u01c5\1\u01c7\1\u01c4\3\u01c7",
            "\1\u01ca\1\u01c9\35\u01ca\1\u01c8\3\u01ca",
            "\1\u01d0\1\u01cf\22\u01d0\1\u01cb\10\u01d0\1\u01cc\1\u01d0"+
            "\1\u01cd\3\u01d0",
            "\1\u01d4\1\u01d3\22\u01d4\1\u01d1\12\u01d4\1\u01d2\3\u01d4",
            "\1\u01d9\1\u01d8\22\u01d9\1\u01d5\10\u01d9\1\u01d7\1\u01d9"+
            "\1\u01d6\3\u01d9",
            "\1\u01dd\1\u01dc\22\u01dd\1\u01da\12\u01dd\1\u01db\3\u01dd",
            "\1\u01e1\1\u01e0\22\u01e1\1\u01de\12\u01e1\1\u01df\3\u01e1",
            "\1\u01e5\1\u01e3\33\u01e5\1\u01e4\1\u01e5\1\u01e2\3\u01e5",
            "\1\u01e9\1\u01e8\33\u01e9\1\u01e7\1\u01e9\1\u01e6\3\u01e9",
            "\1\u01ec\1\u01eb\35\u01ec\1\u01ea\3\u01ec",
            "\1\u01f0\1\u01ef\22\u01f0\1\u01ed\12\u01f0\1\u01ee\3\u01f0",
            "\1\u01f4\1\u01f3\33\u01f4\1\u01f2\1\u01f4\1\u01f1\3\u01f4",
            "\1\u01f7\1\u01f6\35\u01f7\1\u01f5\3\u01f7",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
    };

    static final short[] DFA1_eot = DFA.unpackEncodedString(DFA1_eotS);
    static final short[] DFA1_eof = DFA.unpackEncodedString(DFA1_eofS);
    static final char[] DFA1_min = DFA.unpackEncodedStringToUnsignedChars(DFA1_minS);
    static final char[] DFA1_max = DFA.unpackEncodedStringToUnsignedChars(DFA1_maxS);
    static final short[] DFA1_accept = DFA.unpackEncodedString(DFA1_acceptS);
    static final short[] DFA1_special = DFA.unpackEncodedString(DFA1_specialS);
    static final short[][] DFA1_transition;

    static {
        int numStates = DFA1_transitionS.length;
        DFA1_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA1_transition[i] = DFA.unpackEncodedString(DFA1_transitionS[i]);
        }
    }

    class DFA1 extends DFA {

        public DFA1(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 1;
            this.eot = DFA1_eot;
            this.eof = DFA1_eof;
            this.min = DFA1_min;
            this.max = DFA1_max;
            this.accept = DFA1_accept;
            this.special = DFA1_special;
            this.transition = DFA1_transition;
        }
        public String getDescription() {
            return "()* loopback of 125:16: ( options {greedy=false; } : . )*";
        }
    }
    static final String DFA5_eotS =
        "\u0735\uffff";
    static final String DFA5_eofS =
        "\133\uffff\1\u0144\26\uffff\1\u0186\u00d9\uffff\1\u0522\3\uffff"+
        "\1\u0522\1\u0543\5\uffff\1\u0543\1\uffff\1\u0543\26\uffff\1\u059c"+
        "\13\uffff\1\u05e3\26\uffff\1\u0636\13\uffff\1\u0666\3\uffff\1\u0666"+
        "\1\u0698\5\uffff\1\u0698\1\uffff\1\u0698\26\uffff\1\u06ec\u0571"+
        "\uffff";
    static final String DFA5_minS =
        "\2\4\1\uffff\3\4\2\uffff\5\4\4\uffff\5\4\1\uffff\31\4\1\uffff\24"+
        "\4\1\uffff\14\4\1\uffff\16\4\2\uffff\1\4\1\uffff\41\4\1\uffff\16"+
        "\4\1\uffff\30\4\1\uffff\14\4\1\uffff\20\4\1\uffff\16\4\1\uffff\23"+
        "\4\1\uffff\24\4\1\uffff\14\4\1\uffff\20\4\1\uffff\24\4\1\uffff\14"+
        "\4\1\uffff\16\4\1\uffff\57\4\2\uffff\1\4\1\uffff\37\4\1\uffff\14"+
        "\4\2\uffff\1\4\1\uffff\30\4\u0566\uffff";
    static final String DFA5_maxS =
        "\2\46\1\uffff\3\46\2\uffff\5\46\4\uffff\5\46\1\uffff\31\46\1\uffff"+
        "\24\46\1\uffff\14\46\1\uffff\16\46\2\uffff\1\46\1\uffff\41\46\1"+
        "\uffff\16\46\1\uffff\30\46\1\uffff\14\46\1\uffff\20\46\1\uffff\16"+
        "\46\1\uffff\23\46\1\uffff\24\46\1\uffff\14\46\1\uffff\20\46\1\uffff"+
        "\24\46\1\uffff\14\46\1\uffff\16\46\1\uffff\57\46\2\uffff\1\46\1"+
        "\uffff\37\46\1\uffff\14\46\2\uffff\1\46\1\uffff\30\46\u0566\uffff";
    static final String DFA5_acceptS =
        "\2\uffff\1\1\13\uffff\1\2\7\uffff\1\2\31\uffff\1\2\24\uffff\1\2"+
        "\14\uffff\1\2\16\uffff\2\2\1\uffff\1\2\41\uffff\1\2\16\uffff\1\2"+
        "\30\uffff\1\2\14\uffff\1\2\20\uffff\1\2\16\uffff\1\2\23\uffff\1"+
        "\2\24\uffff\1\2\14\uffff\1\2\20\uffff\1\2\24\uffff\1\2\14\uffff"+
        "\1\2\76\uffff\2\2\1\uffff\1\2\54\uffff\2\2\1\uffff\1\2\30\uffff"+
        "\u035e\2\1\uffff\17\2\1\uffff\6\2\1\uffff\21\2\1\uffff\11\2\1\uffff"+
        "\156\2\1\uffff\57\2\1\uffff\122\2\1\uffff\57\2\1\uffff\17\2\1\uffff"+
        "\6\2\1\uffff\21\2\1\uffff\11\2\1\uffff\122\2\1\uffff\54\2";
    static final String DFA5_specialS =
        "\u0735\uffff}>";
    static final String[] DFA5_transitionS = {
            "\24\2\1\1\16\2",
            "\2\2\1\3\14\2\1\5\15\2\1\4\5\2",
            "",
            "\1\12\1\10\22\12\1\11\16\12",
            "\24\14\1\13\10\14\1\2\5\14",
            "\37\2\1\16\3\2",
            "",
            "",
            "\1\24\1\21\22\24\1\23\10\24\1\22\5\24",
            "\1\32\1\25\1\26\14\32\1\30\4\32\1\31\10\32\1\27\5\32",
            "\1\35\1\33\22\35\1\34\16\35",
            "\2\43\1\37\14\43\1\41\4\43\1\42\10\43\1\40\1\43\1\36\3\43",
            "\24\46\1\45\12\46\1\44\3\46",
            "",
            "",
            "",
            "",
            "\1\52\1\50\22\52\1\51\10\52\1\47\5\52",
            "\1\56\1\53\22\56\1\54\10\56\1\55\5\56",
            "\1\64\1\57\1\60\14\64\1\62\4\64\1\63\10\64\1\61\5\64",
            "\1\67\1\65\22\67\1\66\16\67",
            "\1\73\1\71\22\73\1\72\10\73\1\70\5\73",
            "",
            "\1\77\1\74\22\77\1\75\10\77\1\76\5\77",
            "\1\103\1\100\22\103\1\102\12\103\1\101\3\103",
            "\1\111\1\104\1\105\14\111\1\107\4\111\1\110\10\111\1\106\5"+
            "\111",
            "\1\114\1\112\22\114\1\113\16\114",
            "\1\120\1\116\22\120\1\117\10\120\1\115\5\120",
            "\1\126\1\121\1\122\14\126\1\124\4\126\1\125\10\126\1\123\5"+
            "\126",
            "\1\131\1\127\22\131\1\130\16\131",
            "\24\134\1\133\12\134\1\132\3\134",
            "\1\140\1\136\22\140\1\137\12\140\1\135\3\140",
            "\24\144\1\142\10\144\1\143\1\144\1\141\3\144",
            "\24\147\1\146\12\147\1\145\3\147",
            "\2\155\1\151\14\155\1\153\4\155\1\154\10\155\1\152\1\155\1"+
            "\150\3\155",
            "\24\160\1\157\12\160\1\156\3\160",
            "\24\163\1\162\12\163\1\161\3\163",
            "\2\171\1\165\14\171\1\167\4\171\1\170\10\171\1\166\1\171\1"+
            "\164\3\171",
            "\24\174\1\173\12\174\1\172\3\174",
            "\1\u0080\1\175\22\u0080\1\176\10\u0080\1\177\5\u0080",
            "\1\u0084\1\u0082\22\u0084\1\u0083\10\u0084\1\u0081\5\u0084",
            "\1\u008a\1\u0085\1\u0086\14\u008a\1\u0088\4\u008a\1\u0089\10"+
            "\u008a\1\u0087\5\u008a",
            "\1\u008d\1\u008b\22\u008d\1\u008c\16\u008d",
            "\1\u0092\1\u008f\22\u0092\1\u0091\10\u0092\1\u008e\1\u0092"+
            "\1\u0090\3\u0092",
            "\1\u0099\1\u0093\1\u0095\14\u0099\1\u0097\4\u0099\1\u0098\10"+
            "\u0099\1\u0096\1\u0099\1\u0094\3\u0099",
            "\1\u009c\1\u009a\22\u009c\1\u009b\16\u009c",
            "\1\u00a0\1\u009d\22\u00a0\1\u009f\12\u00a0\1\u009e\3\u00a0",
            "\1\u00a4\1\u00a2\22\u00a4\1\u00a3\10\u00a4\1\u00a1\5\u00a4",
            "",
            "\1\u00a8\1\u00a5\22\u00a8\1\u00a6\10\u00a8\1\u00a7\5\u00a8",
            "\1\u00ac\1\u00a9\22\u00ac\1\u00ab\12\u00ac\1\u00aa\3\u00ac",
            "\1\u00b2\1\u00ad\1\u00ae\14\u00b2\1\u00b0\4\u00b2\1\u00b1\10"+
            "\u00b2\1\u00af\5\u00b2",
            "\1\u00b5\1\u00b3\22\u00b5\1\u00b4\16\u00b5",
            "\1\u00b9\1\u00b7\22\u00b9\1\u00b8\10\u00b9\1\u00b6\5\u00b9",
            "\1\u00bf\1\u00ba\1\u00bb\14\u00bf\1\u00bd\4\u00bf\1\u00be\10"+
            "\u00bf\1\u00bc\5\u00bf",
            "\1\u00c2\1\u00c0\22\u00c2\1\u00c1\16\u00c2",
            "\1\u00c6\1\u00c3\22\u00c6\1\u00c4\10\u00c6\1\u00c5\5\u00c6",
            "\1\u00ca\1\u00c8\22\u00ca\1\u00c9\10\u00ca\1\u00c7\5\u00ca",
            "\1\u00d0\1\u00cb\1\u00cc\14\u00d0\1\u00ce\4\u00d0\1\u00cf\10"+
            "\u00d0\1\u00cd\5\u00d0",
            "\1\u00d3\1\u00d1\22\u00d3\1\u00d2\16\u00d3",
            "\1\u00d8\1\u00d5\22\u00d8\1\u00d7\10\u00d8\1\u00d4\1\u00d8"+
            "\1\u00d6\3\u00d8",
            "\1\u00df\1\u00d9\1\u00db\14\u00df\1\u00dd\4\u00df\1\u00de\10"+
            "\u00df\1\u00dc\1\u00df\1\u00da\3\u00df",
            "\1\u00e2\1\u00e0\22\u00e2\1\u00e1\16\u00e2",
            "\1\u00e6\1\u00e3\22\u00e6\1\u00e5\12\u00e6\1\u00e4\3\u00e6",
            "\1\u00ea\1\u00e8\22\u00ea\1\u00e9\10\u00ea\1\u00e7\5\u00ea",
            "\1\u00ed\1\u00eb\22\u00ed\1\u00ec\16\u00ed",
            "\1\u00f3\1\u00ee\1\u00ef\14\u00f3\1\u00f1\4\u00f3\1\u00f2\10"+
            "\u00f3\1\u00f0\5\u00f3",
            "\1\u00f6\1\u00f4\22\u00f6\1\u00f5\16\u00f6",
            "\1\u00fa\1\u00f8\22\u00fa\1\u00f9\10\u00fa\1\u00f7\5\u00fa",
            "",
            "\1\u00fe\1\u00fb\22\u00fe\1\u00fc\10\u00fe\1\u00fd\5\u00fe",
            "\1\u0102\1\u00ff\22\u0102\1\u0101\12\u0102\1\u0100\3\u0102",
            "\1\u0108\1\u0103\1\u0104\14\u0108\1\u0106\4\u0108\1\u0107\10"+
            "\u0108\1\u0105\5\u0108",
            "\1\u010b\1\u0109\22\u010b\1\u010a\16\u010b",
            "\1\u010f\1\u010d\22\u010f\1\u010e\10\u010f\1\u010c\5\u010f",
            "\1\u0115\1\u0110\1\u0111\14\u0115\1\u0113\4\u0115\1\u0114\10"+
            "\u0115\1\u0112\5\u0115",
            "\1\u0118\1\u0116\22\u0118\1\u0117\16\u0118",
            "\1\u011c\1\u0119\22\u011c\1\u011a\10\u011c\1\u011b\5\u011c",
            "\1\u0120\1\u011e\22\u0120\1\u011f\10\u0120\1\u011d\5\u0120",
            "\1\u0126\1\u0121\1\u0122\14\u0126\1\u0124\4\u0126\1\u0125\10"+
            "\u0126\1\u0123\5\u0126",
            "\1\u0129\1\u0127\22\u0129\1\u0128\16\u0129",
            "\1\u012d\1\u012b\22\u012d\1\u012c\10\u012d\1\u012a\5\u012d",
            "",
            "\1\u0131\1\u012e\22\u0131\1\u012f\10\u0131\1\u0130\5\u0131",
            "\1\u0135\1\u0132\22\u0135\1\u0134\12\u0135\1\u0133\3\u0135",
            "\1\u013b\1\u0136\1\u0137\14\u013b\1\u0139\4\u013b\1\u013a\10"+
            "\u013b\1\u0138\5\u013b",
            "\1\u013e\1\u013c\22\u013e\1\u013d\16\u013e",
            "\1\u0142\1\u0140\22\u0142\1\u0141\10\u0142\1\u013f\5\u0142",
            "\1\u0148\1\u0143\1\u0144\14\u0148\1\u0146\4\u0148\1\u0147\10"+
            "\u0148\1\u0145\5\u0148",
            "\1\u014b\1\u0149\22\u014b\1\u014a\16\u014b",
            "\24\u014e\1\u014c\12\u014e\1\u014d\3\u014e",
            "\2\u0155\1\u0152\14\u0155\1\u0154\4\u0155\1\u0150\10\u0155"+
            "\1\u0151\1\u0155\1\u014f\3\u0155",
            "\24\u0158\1\u0157\12\u0158\1\u0156\3\u0158",
            "\1\u015c\1\u015b\22\u015c\1\u0159\12\u015c\1\u015a\3\u015c",
            "\1\u0161\1\u015e\22\u0161\1\u0160\10\u0161\1\u015f\1\u0161"+
            "\1\u015d\3\u0161",
            "\1\u0168\1\u0163\1\u0164\14\u0168\1\u0166\4\u0168\1\u0167\10"+
            "\u0168\1\u0165\1\u0168\1\u0162\3\u0168",
            "\1\u016c\1\u016a\22\u016c\1\u016b\12\u016c\1\u0169\3\u016c",
            "",
            "",
            "\24\u016f\1\u016e\12\u016f\1\u016d\3\u016f",
            "",
            "\24\u0172\1\u0170\12\u0172\1\u0171\3\u0172",
            "\2\u0178\1\u0174\14\u0178\1\u0176\4\u0178\1\u0177\10\u0178"+
            "\1\u0175\1\u0178\1\u0173\3\u0178",
            "\24\u017b\1\u017a\12\u017b\1\u0179\3\u017b",
            "\24\u017e\1\u017c\12\u017e\1\u017d\3\u017e",
            "\1\u0182\1\u0180\22\u0182\1\u0181\12\u0182\1\u017f\3\u0182",
            "\24\u0186\1\u0184\10\u0186\1\u0185\1\u0186\1\u0183\3\u0186",
            "\24\u0189\1\u0188\12\u0189\1\u0187\3\u0189",
            "\2\u018f\1\u018b\14\u018f\1\u018d\4\u018f\1\u018e\10\u018f"+
            "\1\u018c\1\u018f\1\u018a\3\u018f",
            "\24\u0192\1\u0191\12\u0192\1\u0190\3\u0192",
            "\24\u0195\1\u0193\12\u0195\1\u0194\3\u0195",
            "\2\u019b\1\u0197\14\u019b\1\u0199\4\u019b\1\u019a\10\u019b"+
            "\1\u0198\1\u019b\1\u0196\3\u019b",
            "\24\u019e\1\u019d\12\u019e\1\u019c\3\u019e",
            "\24\u01a1\1\u019f\12\u01a1\1\u01a0\3\u01a1",
            "\2\u01a8\1\u01a5\14\u01a8\1\u01a7\4\u01a8\1\u01a3\10\u01a8"+
            "\1\u01a4\1\u01a8\1\u01a2\3\u01a8",
            "\24\u01ab\1\u01aa\12\u01ab\1\u01a9\3\u01ab",
            "\24\u01ae\1\u01ac\12\u01ae\1\u01ad\3\u01ae",
            "\1\u01b2\1\u01b0\22\u01b2\1\u01b1\12\u01b2\1\u01af\3\u01b2",
            "\24\u01b6\1\u01b4\10\u01b6\1\u01b5\1\u01b6\1\u01b3\3\u01b6",
            "\24\u01b9\1\u01b8\12\u01b9\1\u01b7\3\u01b9",
            "\2\u01bf\1\u01bb\14\u01bf\1\u01bd\4\u01bf\1\u01be\10\u01bf"+
            "\1\u01bc\1\u01bf\1\u01ba\3\u01bf",
            "\24\u01c2\1\u01c1\12\u01c2\1\u01c0\3\u01c2",
            "\24\u01c5\1\u01c3\12\u01c5\1\u01c4\3\u01c5",
            "\2\u01cb\1\u01c7\14\u01cb\1\u01c9\4\u01cb\1\u01ca\10\u01cb"+
            "\1\u01c8\1\u01cb\1\u01c6\3\u01cb",
            "\24\u01ce\1\u01cd\12\u01ce\1\u01cc\3\u01ce",
            "\1\u01d3\1\u01d1\22\u01d3\1\u01d2\10\u01d3\1\u01d0\1\u01d3"+
            "\1\u01cf\3\u01d3",
            "\1\u01da\1\u01d5\1\u01d6\14\u01da\1\u01d8\4\u01da\1\u01d9\10"+
            "\u01da\1\u01d7\1\u01da\1\u01d4\3\u01da",
            "\1\u01dd\1\u01db\22\u01dd\1\u01dc\16\u01dd",
            "\1\u01e1\1\u01df\22\u01e1\1\u01e0\12\u01e1\1\u01de\3\u01e1",
            "\1\u01e5\1\u01e2\22\u01e5\1\u01e3\10\u01e5\1\u01e4\5\u01e5",
            "\1\u01e9\1\u01e7\22\u01e9\1\u01e8\10\u01e9\1\u01e6\5\u01e9",
            "\1\u01ef\1\u01ea\1\u01eb\14\u01ef\1\u01ed\4\u01ef\1\u01ee\10"+
            "\u01ef\1\u01ec\5\u01ef",
            "\1\u01f2\1\u01f0\22\u01f2\1\u01f1\16\u01f2",
            "\1\u01f6\1\u01f4\22\u01f6\1\u01f5\10\u01f6\1\u01f3\5\u01f6",
            "",
            "\1\u01fa\1\u01f7\22\u01fa\1\u01f8\10\u01fa\1\u01f9\5\u01fa",
            "\1\u01fe\1\u01fb\22\u01fe\1\u01fd\12\u01fe\1\u01fc\3\u01fe",
            "\1\u0204\1\u01ff\1\u0200\14\u0204\1\u0202\4\u0204\1\u0203\10"+
            "\u0204\1\u0201\5\u0204",
            "\1\u0207\1\u0205\22\u0207\1\u0206\16\u0207",
            "\1\u020b\1\u0209\22\u020b\1\u020a\10\u020b\1\u0208\5\u020b",
            "\1\u0211\1\u020c\1\u020d\14\u0211\1\u020f\4\u0211\1\u0210\10"+
            "\u0211\1\u020e\5\u0211",
            "\1\u0214\1\u0212\22\u0214\1\u0213\16\u0214",
            "\1\u0219\1\u0215\22\u0219\1\u0218\10\u0219\1\u0217\1\u0219"+
            "\1\u0216\3\u0219",
            "\1\u021e\1\u021b\22\u021e\1\u021d\10\u021e\1\u021a\1\u021e"+
            "\1\u021c\3\u021e",
            "\1\u0222\1\u021f\22\u0222\1\u0221\12\u0222\1\u0220\3\u0222",
            "\1\u0229\1\u0223\1\u0225\14\u0229\1\u0227\4\u0229\1\u0228\10"+
            "\u0229\1\u0226\1\u0229\1\u0224\3\u0229",
            "\1\u022d\1\u022a\22\u022d\1\u022c\12\u022d\1\u022b\3\u022d",
            "\1\u0232\1\u022f\22\u0232\1\u0231\10\u0232\1\u022e\1\u0232"+
            "\1\u0230\3\u0232",
            "\1\u0236\1\u0233\22\u0236\1\u0235\12\u0236\1\u0234\3\u0236",
            "",
            "\1\u023b\1\u0237\22\u023b\1\u0239\10\u023b\1\u023a\1\u023b"+
            "\1\u0238\3\u023b",
            "\1\u023f\1\u023c\22\u023f\1\u023e\12\u023f\1\u023d\3\u023f",
            "\1\u0246\1\u0240\1\u0242\14\u0246\1\u0244\4\u0246\1\u0245\10"+
            "\u0246\1\u0243\1\u0246\1\u0241\3\u0246",
            "\1\u024a\1\u0247\22\u024a\1\u0249\12\u024a\1\u0248\3\u024a",
            "\1\u024e\1\u024c\22\u024e\1\u024d\10\u024e\1\u024b\5\u024e",
            "\1\u0254\1\u024f\1\u0250\14\u0254\1\u0252\4\u0254\1\u0253\10"+
            "\u0254\1\u0251\5\u0254",
            "\1\u0257\1\u0255\22\u0257\1\u0256\16\u0257",
            "\1\u025c\1\u0259\22\u025c\1\u025b\10\u025c\1\u0258\1\u025c"+
            "\1\u025a\3\u025c",
            "\1\u0260\1\u025d\22\u0260\1\u025f\12\u0260\1\u025e\3\u0260",
            "\1\u0267\1\u0261\1\u0263\14\u0267\1\u0265\4\u0267\1\u0266\10"+
            "\u0267\1\u0264\1\u0267\1\u0262\3\u0267",
            "\1\u026b\1\u0268\22\u026b\1\u026a\12\u026b\1\u0269\3\u026b",
            "\1\u026f\1\u026c\22\u026f\1\u026d\10\u026f\1\u026e\5\u026f",
            "\1\u0273\1\u0271\22\u0273\1\u0272\10\u0273\1\u0270\5\u0273",
            "\1\u0279\1\u0274\1\u0275\14\u0279\1\u0277\4\u0279\1\u0278\10"+
            "\u0279\1\u0276\5\u0279",
            "\1\u027c\1\u027a\22\u027c\1\u027b\16\u027c",
            "\1\u0281\1\u027e\22\u0281\1\u0280\10\u0281\1\u027d\1\u0281"+
            "\1\u027f\3\u0281",
            "\1\u0288\1\u0282\1\u0284\14\u0288\1\u0286\4\u0288\1\u0287\10"+
            "\u0288\1\u0285\1\u0288\1\u0283\3\u0288",
            "\1\u028b\1\u0289\22\u028b\1\u028a\16\u028b",
            "\1\u028f\1\u028c\22\u028f\1\u028e\12\u028f\1\u028d\3\u028f",
            "\1\u0293\1\u0291\22\u0293\1\u0292\10\u0293\1\u0290\5\u0293",
            "\1\u0296\1\u0294\22\u0296\1\u0295\16\u0296",
            "\1\u029c\1\u0297\1\u0298\14\u029c\1\u029a\4\u029c\1\u029b\10"+
            "\u029c\1\u0299\5\u029c",
            "\1\u029f\1\u029d\22\u029f\1\u029e\16\u029f",
            "\1\u02a3\1\u02a1\22\u02a3\1\u02a2\10\u02a3\1\u02a0\5\u02a3",
            "",
            "\1\u02a7\1\u02a4\22\u02a7\1\u02a5\10\u02a7\1\u02a6\5\u02a7",
            "\1\u02ab\1\u02a8\22\u02ab\1\u02aa\12\u02ab\1\u02a9\3\u02ab",
            "\1\u02b1\1\u02ac\1\u02ad\14\u02b1\1\u02af\4\u02b1\1\u02b0\10"+
            "\u02b1\1\u02ae\5\u02b1",
            "\1\u02b4\1\u02b2\22\u02b4\1\u02b3\16\u02b4",
            "\1\u02b8\1\u02b6\22\u02b8\1\u02b7\10\u02b8\1\u02b5\5\u02b8",
            "\1\u02be\1\u02b9\1\u02ba\14\u02be\1\u02bc\4\u02be\1\u02bd\10"+
            "\u02be\1\u02bb\5\u02be",
            "\1\u02c1\1\u02bf\22\u02c1\1\u02c0\16\u02c1",
            "\1\u02c5\1\u02c2\22\u02c5\1\u02c3\10\u02c5\1\u02c4\5\u02c5",
            "\1\u02c9\1\u02c7\22\u02c9\1\u02c8\10\u02c9\1\u02c6\5\u02c9",
            "\1\u02cf\1\u02ca\1\u02cb\14\u02cf\1\u02cd\4\u02cf\1\u02ce\10"+
            "\u02cf\1\u02cc\5\u02cf",
            "\1\u02d2\1\u02d0\22\u02d2\1\u02d1\16\u02d2",
            "\1\u02d6\1\u02d4\22\u02d6\1\u02d5\10\u02d6\1\u02d3\5\u02d6",
            "",
            "\1\u02da\1\u02d7\22\u02da\1\u02d8\10\u02da\1\u02d9\5\u02da",
            "\1\u02de\1\u02db\22\u02de\1\u02dd\12\u02de\1\u02dc\3\u02de",
            "\1\u02e4\1\u02df\1\u02e0\14\u02e4\1\u02e2\4\u02e4\1\u02e3\10"+
            "\u02e4\1\u02e1\5\u02e4",
            "\1\u02e7\1\u02e5\22\u02e7\1\u02e6\16\u02e7",
            "\1\u02eb\1\u02e9\22\u02eb\1\u02ea\10\u02eb\1\u02e8\5\u02eb",
            "\1\u02f1\1\u02ec\1\u02ed\14\u02f1\1\u02ef\4\u02f1\1\u02f0\10"+
            "\u02f1\1\u02ee\5\u02f1",
            "\1\u02f4\1\u02f2\22\u02f4\1\u02f3\16\u02f4",
            "\1\u02f9\1\u02f7\22\u02f9\1\u02f8\10\u02f9\1\u02f6\1\u02f9"+
            "\1\u02f5\3\u02f9",
            "\1\u0300\1\u02fb\1\u02fc\14\u0300\1\u02fe\4\u0300\1\u02ff\10"+
            "\u0300\1\u02fd\1\u0300\1\u02fa\3\u0300",
            "\1\u0303\1\u0301\22\u0303\1\u0302\16\u0303",
            "\1\u0307\1\u0305\22\u0307\1\u0306\12\u0307\1\u0304\3\u0307",
            "\1\u030b\1\u0308\22\u030b\1\u0309\10\u030b\1\u030a\5\u030b",
            "\1\u030f\1\u030d\22\u030f\1\u030e\10\u030f\1\u030c\5\u030f",
            "\1\u0315\1\u0310\1\u0311\14\u0315\1\u0313\4\u0315\1\u0314\10"+
            "\u0315\1\u0312\5\u0315",
            "\1\u0318\1\u0316\22\u0318\1\u0317\16\u0318",
            "\1\u031c\1\u031a\22\u031c\1\u031b\10\u031c\1\u0319\5\u031c",
            "",
            "\1\u0320\1\u031d\22\u0320\1\u031e\10\u0320\1\u031f\5\u0320",
            "\1\u0324\1\u0321\22\u0324\1\u0323\12\u0324\1\u0322\3\u0324",
            "\1\u032a\1\u0325\1\u0326\14\u032a\1\u0328\4\u032a\1\u0329\10"+
            "\u032a\1\u0327\5\u032a",
            "\1\u032d\1\u032b\22\u032d\1\u032c\16\u032d",
            "\1\u0331\1\u032f\22\u0331\1\u0330\10\u0331\1\u032e\5\u0331",
            "\1\u0337\1\u0332\1\u0333\14\u0337\1\u0335\4\u0337\1\u0336\10"+
            "\u0337\1\u0334\5\u0337",
            "\1\u033a\1\u0338\22\u033a\1\u0339\16\u033a",
            "\1\u033f\1\u033b\22\u033f\1\u033e\10\u033f\1\u033d\1\u033f"+
            "\1\u033c\3\u033f",
            "\1\u0344\1\u0341\22\u0344\1\u0343\10\u0344\1\u0340\1\u0344"+
            "\1\u0342\3\u0344",
            "\1\u0348\1\u0345\22\u0348\1\u0347\12\u0348\1\u0346\3\u0348",
            "\1\u034f\1\u0349\1\u034b\14\u034f\1\u034d\4\u034f\1\u034e\10"+
            "\u034f\1\u034c\1\u034f\1\u034a\3\u034f",
            "\1\u0353\1\u0350\22\u0353\1\u0352\12\u0353\1\u0351\3\u0353",
            "\1\u0358\1\u0355\22\u0358\1\u0357\10\u0358\1\u0354\1\u0358"+
            "\1\u0356\3\u0358",
            "\1\u035c\1\u0359\22\u035c\1\u035b\12\u035c\1\u035a\3\u035c",
            "",
            "\1\u0361\1\u035d\22\u0361\1\u035f\10\u0361\1\u0360\1\u0361"+
            "\1\u035e\3\u0361",
            "\1\u0365\1\u0362\22\u0365\1\u0364\12\u0365\1\u0363\3\u0365",
            "\1\u036c\1\u0366\1\u0368\14\u036c\1\u036a\4\u036c\1\u036b\10"+
            "\u036c\1\u0369\1\u036c\1\u0367\3\u036c",
            "\1\u0370\1\u036d\22\u0370\1\u036f\12\u0370\1\u036e\3\u0370",
            "\1\u0374\1\u0372\22\u0374\1\u0373\10\u0374\1\u0371\5\u0374",
            "\1\u037a\1\u0375\1\u0376\14\u037a\1\u0378\4\u037a\1\u0379\10"+
            "\u037a\1\u0377\5\u037a",
            "\1\u037d\1\u037b\22\u037d\1\u037c\16\u037d",
            "\1\u0382\1\u037f\22\u0382\1\u0381\10\u0382\1\u037e\1\u0382"+
            "\1\u0380\3\u0382",
            "\1\u0386\1\u0383\22\u0386\1\u0385\12\u0386\1\u0384\3\u0386",
            "\1\u038d\1\u0387\1\u0389\14\u038d\1\u038b\4\u038d\1\u038c\10"+
            "\u038d\1\u038a\1\u038d\1\u0388\3\u038d",
            "\1\u0391\1\u038e\22\u0391\1\u0390\12\u0391\1\u038f\3\u0391",
            "\1\u0395\1\u0392\22\u0395\1\u0393\10\u0395\1\u0394\5\u0395",
            "\1\u0399\1\u0397\22\u0399\1\u0398\10\u0399\1\u0396\5\u0399",
            "\1\u039f\1\u039a\1\u039b\14\u039f\1\u039d\4\u039f\1\u039e\10"+
            "\u039f\1\u039c\5\u039f",
            "\1\u03a2\1\u03a0\22\u03a2\1\u03a1\16\u03a2",
            "\1\u03a6\1\u03a4\22\u03a6\1\u03a5\10\u03a6\1\u03a3\5\u03a6",
            "\1\u03ac\1\u03a7\1\u03a9\14\u03ac\1\u03ab\4\u03ac\1\u03a8\10"+
            "\u03ac\1\u03aa\5\u03ac",
            "\1\u03af\1\u03ad\22\u03af\1\u03ae\16\u03af",
            "\1\u03b3\1\u03b1\22\u03b3\1\u03b2\10\u03b3\1\u03b0\5\u03b3",
            "",
            "\1\u03b7\1\u03b4\22\u03b7\1\u03b5\10\u03b7\1\u03b6\5\u03b7",
            "\1\u03bb\1\u03b8\22\u03bb\1\u03ba\12\u03bb\1\u03b9\3\u03bb",
            "\1\u03c1\1\u03bc\1\u03bd\14\u03c1\1\u03bf\4\u03c1\1\u03c0\10"+
            "\u03c1\1\u03be\5\u03c1",
            "\1\u03c4\1\u03c2\22\u03c4\1\u03c3\16\u03c4",
            "\1\u03c8\1\u03c6\22\u03c8\1\u03c7\10\u03c8\1\u03c5\5\u03c8",
            "\1\u03ce\1\u03c9\1\u03ca\14\u03ce\1\u03cc\4\u03ce\1\u03cd\10"+
            "\u03ce\1\u03cb\5\u03ce",
            "\1\u03d1\1\u03cf\22\u03d1\1\u03d0\16\u03d1",
            "\1\u03d5\1\u03d2\22\u03d5\1\u03d3\10\u03d5\1\u03d4\5\u03d5",
            "\1\u03d9\1\u03d7\22\u03d9\1\u03d8\10\u03d9\1\u03d6\5\u03d9",
            "\1\u03df\1\u03da\1\u03db\14\u03df\1\u03dd\4\u03df\1\u03de\10"+
            "\u03df\1\u03dc\5\u03df",
            "\1\u03e2\1\u03e0\22\u03e2\1\u03e1\16\u03e2",
            "\1\u03e7\1\u03e4\22\u03e7\1\u03e6\10\u03e7\1\u03e3\1\u03e7"+
            "\1\u03e5\3\u03e7",
            "\1\u03ee\1\u03e8\1\u03ea\14\u03ee\1\u03ec\4\u03ee\1\u03ed\10"+
            "\u03ee\1\u03eb\1\u03ee\1\u03e9\3\u03ee",
            "\1\u03f1\1\u03ef\22\u03f1\1\u03f0\16\u03f1",
            "\1\u03f5\1\u03f2\22\u03f5\1\u03f4\12\u03f5\1\u03f3\3\u03f5",
            "\1\u03f9\1\u03f7\22\u03f9\1\u03f8\10\u03f9\1\u03f6\5\u03f9",
            "\1\u03fc\1\u03fa\22\u03fc\1\u03fb\16\u03fc",
            "\1\u0402\1\u03fd\1\u03fe\14\u0402\1\u0400\4\u0402\1\u0401\10"+
            "\u0402\1\u03ff\5\u0402",
            "\1\u0405\1\u0403\22\u0405\1\u0404\16\u0405",
            "\1\u0409\1\u0407\22\u0409\1\u0408\10\u0409\1\u0406\5\u0409",
            "",
            "\1\u040d\1\u040a\22\u040d\1\u040b\10\u040d\1\u040c\5\u040d",
            "\1\u0411\1\u040e\22\u0411\1\u0410\12\u0411\1\u040f\3\u0411",
            "\1\u0417\1\u0412\1\u0413\14\u0417\1\u0415\4\u0417\1\u0416\10"+
            "\u0417\1\u0414\5\u0417",
            "\1\u041a\1\u0418\22\u041a\1\u0419\16\u041a",
            "\1\u041e\1\u041c\22\u041e\1\u041d\10\u041e\1\u041b\5\u041e",
            "\1\u0424\1\u041f\1\u0420\14\u0424\1\u0422\4\u0424\1\u0423\10"+
            "\u0424\1\u0421\5\u0424",
            "\1\u0427\1\u0425\22\u0427\1\u0426\16\u0427",
            "\1\u042b\1\u0428\22\u042b\1\u0429\10\u042b\1\u042a\5\u042b",
            "\1\u042f\1\u042d\22\u042f\1\u042e\10\u042f\1\u042c\5\u042f",
            "\1\u0435\1\u0430\1\u0431\14\u0435\1\u0433\4\u0435\1\u0434\10"+
            "\u0435\1\u0432\5\u0435",
            "\1\u0438\1\u0436\22\u0438\1\u0437\16\u0438",
            "\1\u043c\1\u043a\22\u043c\1\u043b\10\u043c\1\u0439\5\u043c",
            "",
            "\1\u0440\1\u043d\22\u0440\1\u043e\10\u0440\1\u043f\5\u0440",
            "\1\u0444\1\u0441\22\u0444\1\u0443\12\u0444\1\u0442\3\u0444",
            "\1\u044a\1\u0445\1\u0446\14\u044a\1\u0448\4\u044a\1\u0449\10"+
            "\u044a\1\u0447\5\u044a",
            "\1\u044d\1\u044b\22\u044d\1\u044c\16\u044d",
            "\1\u0451\1\u044f\22\u0451\1\u0450\10\u0451\1\u044e\5\u0451",
            "\1\u0457\1\u0452\1\u0453\14\u0457\1\u0455\4\u0457\1\u0456\10"+
            "\u0457\1\u0454\5\u0457",
            "\1\u045a\1\u0458\22\u045a\1\u0459\16\u045a",
            "\1\u045f\1\u045d\22\u045f\1\u045e\10\u045f\1\u045c\1\u045f"+
            "\1\u045b\3\u045f",
            "\1\u0466\1\u0461\1\u0462\14\u0466\1\u0464\4\u0466\1\u0465\10"+
            "\u0466\1\u0463\1\u0466\1\u0460\3\u0466",
            "\1\u0469\1\u0467\22\u0469\1\u0468\16\u0469",
            "\1\u046d\1\u046b\22\u046d\1\u046c\12\u046d\1\u046a\3\u046d",
            "\1\u0471\1\u046e\22\u0471\1\u046f\10\u0471\1\u0470\5\u0471",
            "\1\u0475\1\u0473\22\u0475\1\u0474\10\u0475\1\u0472\5\u0475",
            "\1\u047b\1\u0476\1\u0477\14\u047b\1\u0479\4\u047b\1\u047a\10"+
            "\u047b\1\u0478\5\u047b",
            "\1\u047e\1\u047c\22\u047e\1\u047d\16\u047e",
            "\1\u0482\1\u0480\22\u0482\1\u0481\10\u0482\1\u047f\5\u0482",
            "",
            "\1\u0486\1\u0483\22\u0486\1\u0484\10\u0486\1\u0485\5\u0486",
            "\1\u048a\1\u0487\22\u048a\1\u0489\12\u048a\1\u0488\3\u048a",
            "\1\u0490\1\u048b\1\u048c\14\u0490\1\u048e\4\u0490\1\u048f\10"+
            "\u0490\1\u048d\5\u0490",
            "\1\u0493\1\u0491\22\u0493\1\u0492\16\u0493",
            "\1\u0497\1\u0495\22\u0497\1\u0496\10\u0497\1\u0494\5\u0497",
            "\1\u049d\1\u0498\1\u0499\14\u049d\1\u049b\4\u049d\1\u049c\10"+
            "\u049d\1\u049a\5\u049d",
            "\1\u04a0\1\u049e\22\u04a0\1\u049f\16\u04a0",
            "\1\u04a4\1\u04a1\22\u04a4\1\u04a2\10\u04a4\1\u04a3\5\u04a4",
            "\1\u04a8\1\u04a6\22\u04a8\1\u04a7\10\u04a8\1\u04a5\5\u04a8",
            "\1\u04ae\1\u04a9\1\u04aa\14\u04ae\1\u04ac\4\u04ae\1\u04ad\10"+
            "\u04ae\1\u04ab\5\u04ae",
            "\1\u04b1\1\u04af\22\u04b1\1\u04b0\16\u04b1",
            "\1\u04b6\1\u04b3\22\u04b6\1\u04b5\10\u04b6\1\u04b2\1\u04b6"+
            "\1\u04b4\3\u04b6",
            "\1\u04bd\1\u04b7\1\u04b9\14\u04bd\1\u04bb\4\u04bd\1\u04bc\10"+
            "\u04bd\1\u04ba\1\u04bd\1\u04b8\3\u04bd",
            "\1\u04c0\1\u04be\22\u04c0\1\u04bf\16\u04c0",
            "\1\u04c4\1\u04c1\22\u04c4\1\u04c3\12\u04c4\1\u04c2\3\u04c4",
            "\1\u04c8\1\u04c6\22\u04c8\1\u04c7\10\u04c8\1\u04c5\5\u04c8",
            "\1\u04cb\1\u04c9\22\u04cb\1\u04ca\16\u04cb",
            "\1\u04d1\1\u04cc\1\u04cd\14\u04d1\1\u04cf\4\u04d1\1\u04d0\10"+
            "\u04d1\1\u04ce\5\u04d1",
            "\1\u04d4\1\u04d2\22\u04d4\1\u04d3\16\u04d4",
            "\1\u04d8\1\u04d6\22\u04d8\1\u04d7\10\u04d8\1\u04d5\5\u04d8",
            "",
            "\1\u04dc\1\u04d9\22\u04dc\1\u04da\10\u04dc\1\u04db\5\u04dc",
            "\1\u04e0\1\u04dd\22\u04e0\1\u04df\12\u04e0\1\u04de\3\u04e0",
            "\1\u04e6\1\u04e1\1\u04e2\14\u04e6\1\u04e4\4\u04e6\1\u04e5\10"+
            "\u04e6\1\u04e3\5\u04e6",
            "\1\u04e9\1\u04e7\22\u04e9\1\u04e8\16\u04e9",
            "\1\u04ed\1\u04eb\22\u04ed\1\u04ec\10\u04ed\1\u04ea\5\u04ed",
            "\1\u04f3\1\u04ee\1\u04ef\14\u04f3\1\u04f1\4\u04f3\1\u04f2\10"+
            "\u04f3\1\u04f0\5\u04f3",
            "\1\u04f6\1\u04f4\22\u04f6\1\u04f5\16\u04f6",
            "\1\u04fa\1\u04f7\22\u04fa\1\u04f8\10\u04fa\1\u04f9\5\u04fa",
            "\1\u04fe\1\u04fc\22\u04fe\1\u04fd\10\u04fe\1\u04fb\5\u04fe",
            "\1\u0504\1\u04ff\1\u0500\14\u0504\1\u0502\4\u0504\1\u0503\10"+
            "\u0504\1\u0501\5\u0504",
            "\1\u0507\1\u0505\22\u0507\1\u0506\16\u0507",
            "\1\u050b\1\u0509\22\u050b\1\u050a\10\u050b\1\u0508\5\u050b",
            "",
            "\1\u050f\1\u050c\22\u050f\1\u050d\10\u050f\1\u050e\5\u050f",
            "\1\u0513\1\u0510\22\u0513\1\u0512\12\u0513\1\u0511\3\u0513",
            "\1\u0519\1\u0514\1\u0515\14\u0519\1\u0517\4\u0519\1\u0518\10"+
            "\u0519\1\u0516\5\u0519",
            "\1\u051c\1\u051a\22\u051c\1\u051b\16\u051c",
            "\1\u0520\1\u051e\22\u0520\1\u051f\10\u0520\1\u051d\5\u0520",
            "\1\u0526\1\u0521\1\u0522\14\u0526\1\u0524\4\u0526\1\u0525\10"+
            "\u0526\1\u0523\5\u0526",
            "\1\u0529\1\u0527\22\u0529\1\u0528\16\u0529",
            "\2\u0530\1\u052e\14\u0530\1\u052f\4\u0530\1\u052a\10\u0530"+
            "\1\u052b\1\u0530\1\u052c\3\u0530",
            "\24\u0533\1\u0531\12\u0533\1\u0532\3\u0533",
            "\24\u0536\1\u0534\12\u0536\1\u0535\3\u0536",
            "\24\u0539\1\u0537\12\u0539\1\u0538\3\u0539",
            "\2\u0540\1\u053e\14\u0540\1\u053f\4\u0540\1\u053c\10\u0540"+
            "\1\u053b\1\u0540\1\u053a\3\u0540",
            "\24\u0543\1\u0542\10\u0543\1\u0545\1\u0543\1\u0541\3\u0543",
            "\1\u0549\1\u0548\22\u0549\1\u0547\12\u0549\1\u0546\3\u0549",
            "",
            "\24\u054c\1\u054b\12\u054c\1\u054a\3\u054c",
            "\24\u054f\1\u054e\12\u054f\1\u054d\3\u054f",
            "\24\u0552\1\u0550\12\u0552\1\u0551\3\u0552",
            "\2\u0559\1\u0557\14\u0559\1\u0558\4\u0559\1\u0555\10\u0559"+
            "\1\u0554\1\u0559\1\u0553\3\u0559",
            "\24\u055c\1\u055b\12\u055c\1\u055a\3\u055c",
            "\1\u0564\1\u0561\1\u0562\14\u0564\1\u0563\4\u0564\1\u055d\10"+
            "\u0564\1\u055e\1\u0564\1\u055f\3\u0564",
            "\1\u0568\1\u0567\22\u0568\1\u0565\12\u0568\1\u0566\3\u0568",
            "\1\u056d\1\u056c\22\u056d\1\u0569\10\u056d\1\u056b\1\u056d"+
            "\1\u056a\3\u056d",
            "\1\u0571\1\u0570\22\u0571\1\u056e\12\u0571\1\u056f\3\u0571",
            "\1\u0575\1\u0574\22\u0575\1\u0572\12\u0575\1\u0573\3\u0575",
            "\1\u057a\1\u0578\22\u057a\1\u0579\10\u057a\1\u0577\1\u057a"+
            "\1\u0576\3\u057a",
            "\1\u057f\1\u057c\22\u057f\1\u057d\10\u057f\1\u057e\1\u057f"+
            "\1\u057b\3\u057f",
            "\1\u0586\1\u0581\1\u0582\14\u0586\1\u0584\4\u0586\1\u0585\10"+
            "\u0586\1\u0583\1\u0586\1\u0580\3\u0586",
            "\1\u058a\1\u0588\22\u058a\1\u0589\12\u058a\1\u0587\3\u058a",
            "\1\u058e\1\u058d\22\u058e\1\u058b\12\u058e\1\u058c\3\u058e",
            "\1\u0593\1\u0591\22\u0593\1\u0592\10\u0593\1\u0590\1\u0593"+
            "\1\u058f\3\u0593",
            "\1\u0597\1\u0595\22\u0597\1\u0596\12\u0597\1\u0594\3\u0597",
            "\1\u059c\1\u0599\22\u059c\1\u059a\10\u059c\1\u059b\1\u059c"+
            "\1\u0598\3\u059c",
            "\1\u05a0\1\u059e\22\u05a0\1\u059f\12\u05a0\1\u059d\3\u05a0",
            "\1\u05a7\1\u05a2\1\u05a3\14\u05a7\1\u05a5\4\u05a7\1\u05a6\10"+
            "\u05a7\1\u05a4\1\u05a7\1\u05a1\3\u05a7",
            "\1\u05ab\1\u05a9\22\u05ab\1\u05aa\12\u05ab\1\u05a8\3\u05ab",
            "\1\u05af\1\u05ae\22\u05af\1\u05ac\12\u05af\1\u05ad\3\u05af",
            "\1\u05b4\1\u05b2\22\u05b4\1\u05b3\10\u05b4\1\u05b1\1\u05b4"+
            "\1\u05b0\3\u05b4",
            "\1\u05bb\1\u05b6\1\u05b7\14\u05bb\1\u05b9\4\u05bb\1\u05ba\10"+
            "\u05bb\1\u05b8\1\u05bb\1\u05b5\3\u05bb",
            "\1\u05bf\1\u05bd\22\u05bf\1\u05be\12\u05bf\1\u05bc\3\u05bf",
            "\24\u05c2\1\u05c0\12\u05c2\1\u05c1\3\u05c2",
            "\2\u05c8\1\u05c4\14\u05c8\1\u05c6\4\u05c8\1\u05c7\10\u05c8"+
            "\1\u05c5\1\u05c8\1\u05c3\3\u05c8",
            "\24\u05cb\1\u05ca\12\u05cb\1\u05c9\3\u05cb",
            "\2\u05d2\1\u05d0\14\u05d2\1\u05d1\4\u05d2\1\u05cc\10\u05d2"+
            "\1\u05cd\1\u05d2\1\u05ce\3\u05d2",
            "\24\u05d5\1\u05d3\12\u05d5\1\u05d4\3\u05d5",
            "\24\u05d8\1\u05d6\12\u05d8\1\u05d7\3\u05d8",
            "\24\u05db\1\u05d9\12\u05db\1\u05da\3\u05db",
            "\1\u05df\1\u05dd\22\u05df\1\u05de\12\u05df\1\u05dc\3\u05df",
            "\24\u05e3\1\u05e1\10\u05e3\1\u05e2\1\u05e3\1\u05e0\3\u05e3",
            "\24\u05e6\1\u05e5\12\u05e6\1\u05e4\3\u05e6",
            "\2\u05ec\1\u05e8\14\u05ec\1\u05ea\4\u05ec\1\u05eb\10\u05ec"+
            "\1\u05e9\1\u05ec\1\u05e7\3\u05ec",
            "\24\u05ef\1\u05ee\12\u05ef\1\u05ed\3\u05ef",
            "\24\u05f2\1\u05f0\12\u05f2\1\u05f1\3\u05f2",
            "\2\u05f8\1\u05f4\14\u05f8\1\u05f6\4\u05f8\1\u05f7\10\u05f8"+
            "\1\u05f5\1\u05f8\1\u05f3\3\u05f8",
            "\24\u05fb\1\u05fa\12\u05fb\1\u05f9\3\u05fb",
            "\2\u0602\1\u0600\14\u0602\1\u0601\4\u0602\1\u05fc\10\u0602"+
            "\1\u05fd\1\u0602\1\u05fe\3\u0602",
            "\24\u0605\1\u0603\12\u0605\1\u0604\3\u0605",
            "\24\u0608\1\u0606\12\u0608\1\u0607\3\u0608",
            "\1\u060c\1\u060b\22\u060c\1\u0609\12\u060c\1\u060a\3\u060c",
            "\1\u0611\1\u060e\22\u0611\1\u0610\10\u0611\1\u060f\1\u0611"+
            "\1\u060d\3\u0611",
            "\1\u0618\1\u0613\1\u0614\14\u0618\1\u0616\4\u0618\1\u0617\10"+
            "\u0618\1\u0615\1\u0618\1\u0612\3\u0618",
            "\1\u061c\1\u061a\22\u061c\1\u061b\12\u061c\1\u0619\3\u061c",
            "",
            "",
            "\24\u061f\1\u061e\12\u061f\1\u061d\3\u061f",
            "",
            "\24\u0622\1\u0620\12\u0622\1\u0621\3\u0622",
            "\2\u0628\1\u0624\14\u0628\1\u0626\4\u0628\1\u0627\10\u0628"+
            "\1\u0625\1\u0628\1\u0623\3\u0628",
            "\24\u062b\1\u062a\12\u062b\1\u0629\3\u062b",
            "\24\u062e\1\u062c\12\u062e\1\u062d\3\u062e",
            "\1\u0632\1\u0630\22\u0632\1\u0631\12\u0632\1\u062f\3\u0632",
            "\24\u0636\1\u0634\10\u0636\1\u0635\1\u0636\1\u0633\3\u0636",
            "\24\u0639\1\u0638\12\u0639\1\u0637\3\u0639",
            "\2\u063f\1\u063b\14\u063f\1\u063d\4\u063f\1\u063e\10\u063f"+
            "\1\u063c\1\u063f\1\u063a\3\u063f",
            "\24\u0642\1\u0641\12\u0642\1\u0640\3\u0642",
            "\24\u0645\1\u0643\12\u0645\1\u0644\3\u0645",
            "\2\u064b\1\u0647\14\u064b\1\u0649\4\u064b\1\u064a\10\u064b"+
            "\1\u0648\1\u064b\1\u0646\3\u064b",
            "\24\u064e\1\u064d\12\u064e\1\u064c\3\u064e",
            "\2\u0655\1\u0653\14\u0655\1\u0654\4\u0655\1\u064f\10\u0655"+
            "\1\u0650\1\u0655\1\u0651\3\u0655",
            "\24\u0658\1\u0656\12\u0658\1\u0657\3\u0658",
            "\24\u065b\1\u0659\12\u065b\1\u065a\3\u065b",
            "\24\u065e\1\u065c\12\u065e\1\u065d\3\u065e",
            "\1\u0662\1\u0660\22\u0662\1\u0661\12\u0662\1\u065f\3\u0662",
            "\24\u0666\1\u0664\10\u0666\1\u0665\1\u0666\1\u0663\3\u0666",
            "\24\u0669\1\u0668\12\u0669\1\u0667\3\u0669",
            "\2\u066f\1\u066b\14\u066f\1\u066d\4\u066f\1\u066e\10\u066f"+
            "\1\u066c\1\u066f\1\u066a\3\u066f",
            "\24\u0672\1\u0671\12\u0672\1\u0670\3\u0672",
            "\24\u0675\1\u0673\12\u0675\1\u0674\3\u0675",
            "\2\u067b\1\u0677\14\u067b\1\u0679\4\u067b\1\u067a\10\u067b"+
            "\1\u0678\1\u067b\1\u0676\3\u067b",
            "\24\u067e\1\u067d\12\u067e\1\u067c\3\u067e",
            "\2\u0685\1\u0683\14\u0685\1\u0684\4\u0685\1\u067f\10\u0685"+
            "\1\u0680\1\u0685\1\u0681\3\u0685",
            "\24\u0688\1\u0686\12\u0688\1\u0687\3\u0688",
            "\24\u068b\1\u0689\12\u068b\1\u068a\3\u068b",
            "\24\u068e\1\u068c\12\u068e\1\u068d\3\u068e",
            "\2\u0695\1\u0693\14\u0695\1\u0694\4\u0695\1\u0691\10\u0695"+
            "\1\u0690\1\u0695\1\u068f\3\u0695",
            "\24\u0698\1\u0697\10\u0698\1\u069a\1\u0698\1\u0696\3\u0698",
            "\1\u069e\1\u069d\22\u069e\1\u069c\12\u069e\1\u069b\3\u069e",
            "",
            "\24\u06a1\1\u06a0\12\u06a1\1\u069f\3\u06a1",
            "\24\u06a4\1\u06a3\12\u06a4\1\u06a2\3\u06a4",
            "\24\u06a7\1\u06a5\12\u06a7\1\u06a6\3\u06a7",
            "\2\u06ae\1\u06ac\14\u06ae\1\u06ad\4\u06ae\1\u06aa\10\u06ae"+
            "\1\u06a9\1\u06ae\1\u06a8\3\u06ae",
            "\24\u06b1\1\u06b0\12\u06b1\1\u06af\3\u06b1",
            "\2\u06b8\1\u06b6\14\u06b8\1\u06b7\4\u06b8\1\u06b2\10\u06b8"+
            "\1\u06b3\1\u06b8\1\u06b4\3\u06b8",
            "\24\u06bb\1\u06b9\12\u06bb\1\u06ba\3\u06bb",
            "\24\u06be\1\u06bc\12\u06be\1\u06bd\3\u06be",
            "\1\u06c2\1\u06c1\22\u06c2\1\u06bf\12\u06c2\1\u06c0\3\u06c2",
            "\1\u06c7\1\u06c4\22\u06c7\1\u06c6\10\u06c7\1\u06c5\1\u06c7"+
            "\1\u06c3\3\u06c7",
            "\1\u06ce\1\u06c9\1\u06ca\14\u06ce\1\u06cc\4\u06ce\1\u06cd\10"+
            "\u06ce\1\u06cb\1\u06ce\1\u06c8\3\u06ce",
            "\1\u06d2\1\u06d0\22\u06d2\1\u06d1\12\u06d2\1\u06cf\3\u06d2",
            "",
            "",
            "\24\u06d5\1\u06d4\12\u06d5\1\u06d3\3\u06d5",
            "",
            "\24\u06d8\1\u06d6\12\u06d8\1\u06d7\3\u06d8",
            "\2\u06de\1\u06da\14\u06de\1\u06dc\4\u06de\1\u06dd\10\u06de"+
            "\1\u06db\1\u06de\1\u06d9\3\u06de",
            "\24\u06e1\1\u06e0\12\u06e1\1\u06df\3\u06e1",
            "\24\u06e4\1\u06e2\12\u06e4\1\u06e3\3\u06e4",
            "\1\u06e8\1\u06e6\22\u06e8\1\u06e7\12\u06e8\1\u06e5\3\u06e8",
            "\24\u06ec\1\u06ea\10\u06ec\1\u06eb\1\u06ec\1\u06e9\3\u06ec",
            "\24\u06ef\1\u06ee\12\u06ef\1\u06ed\3\u06ef",
            "\2\u06f5\1\u06f1\14\u06f5\1\u06f3\4\u06f5\1\u06f4\10\u06f5"+
            "\1\u06f2\1\u06f5\1\u06f0\3\u06f5",
            "\24\u06f8\1\u06f7\12\u06f8\1\u06f6\3\u06f8",
            "\24\u06fb\1\u06f9\12\u06fb\1\u06fa\3\u06fb",
            "\2\u0701\1\u06fd\14\u0701\1\u06ff\4\u0701\1\u0700\10\u0701"+
            "\1\u06fe\1\u0701\1\u06fc\3\u0701",
            "\24\u0704\1\u0703\12\u0704\1\u0702\3\u0704",
            "\2\u070b\1\u0709\14\u070b\1\u070a\4\u070b\1\u0705\10\u070b"+
            "\1\u0706\1\u070b\1\u0707\3\u070b",
            "\24\u070e\1\u070c\12\u070e\1\u070d\3\u070e",
            "\24\u0711\1\u070f\12\u0711\1\u0710\3\u0711",
            "\24\u0714\1\u0712\12\u0714\1\u0713\3\u0714",
            "\1\u0718\1\u0716\22\u0718\1\u0717\12\u0718\1\u0715\3\u0718",
            "\24\u071c\1\u071a\10\u071c\1\u071b\1\u071c\1\u0719\3\u071c",
            "\24\u071f\1\u071e\12\u071f\1\u071d\3\u071f",
            "\2\u0725\1\u0721\14\u0725\1\u0723\4\u0725\1\u0724\10\u0725"+
            "\1\u0722\1\u0725\1\u0720\3\u0725",
            "\24\u0728\1\u0727\12\u0728\1\u0726\3\u0728",
            "\24\u072b\1\u0729\12\u072b\1\u072a\3\u072b",
            "\2\u0731\1\u072d\14\u0731\1\u072f\4\u0731\1\u0730\10\u0731"+
            "\1\u072e\1\u0731\1\u072c\3\u0731",
            "\24\u0734\1\u0733\12\u0734\1\u0732\3\u0734",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
    };

    static final short[] DFA5_eot = DFA.unpackEncodedString(DFA5_eotS);
    static final short[] DFA5_eof = DFA.unpackEncodedString(DFA5_eofS);
    static final char[] DFA5_min = DFA.unpackEncodedStringToUnsignedChars(DFA5_minS);
    static final char[] DFA5_max = DFA.unpackEncodedStringToUnsignedChars(DFA5_maxS);
    static final short[] DFA5_accept = DFA.unpackEncodedString(DFA5_acceptS);
    static final short[] DFA5_special = DFA.unpackEncodedString(DFA5_specialS);
    static final short[][] DFA5_transition;

    static {
        int numStates = DFA5_transitionS.length;
        DFA5_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA5_transition[i] = DFA.unpackEncodedString(DFA5_transitionS[i]);
        }
    }

    class DFA5 extends DFA {

        public DFA5(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 5;
            this.eot = DFA5_eot;
            this.eof = DFA5_eof;
            this.min = DFA5_min;
            this.max = DFA5_max;
            this.accept = DFA5_accept;
            this.special = DFA5_special;
            this.transition = DFA5_transition;
        }
        public String getDescription() {
            return "()* loopback of 135:14: ( options {greedy=false; } : . )*";
        }
    }
    static final String DFA7_eotS =
        "\u0089\uffff";
    static final String DFA7_eofS =
        "\3\uffff\1\10\3\uffff\1\17\3\uffff\1\17\2\uffff\1\30\2\uffff\2\40"+
        "\4\uffff\1\45\2\uffff\1\55\4\uffff\1\61\2\uffff\2\71\2\uffff\1\100"+
        "\1\103\4\uffff\1\107\2\uffff\1\117\2\uffff\1\125\1\130\4\uffff\1"+
        "\134\2\uffff\1\144\1\uffff\1\144\4\uffff\1\151\1\uffff\1\157\1\162"+
        "\2\uffff\1\170\1\173\4\uffff\1\177\72\uffff";
    static final String DFA7_minS =
        "\2\4\1\uffff\1\4\1\uffff\1\4\1\uffff\1\4\3\uffff\1\4\1\uffff\2\4"+
        "\2\uffff\2\4\4\uffff\1\4\1\uffff\2\4\4\uffff\1\4\2\uffff\2\4\2\uffff"+
        "\2\4\4\uffff\1\4\1\uffff\2\4\2\uffff\2\4\4\uffff\1\4\2\uffff\1\4"+
        "\1\uffff\1\4\4\uffff\1\4\1\uffff\2\4\2\uffff\2\4\4\uffff\1\4\1\uffff"+
        "\1\4\70\uffff";
    static final String DFA7_maxS =
        "\2\46\1\uffff\1\46\1\uffff\1\46\1\uffff\1\46\3\uffff\1\46\1\uffff"+
        "\2\46\2\uffff\2\46\4\uffff\1\46\1\uffff\2\46\4\uffff\1\46\2\uffff"+
        "\2\46\2\uffff\2\46\4\uffff\1\46\1\uffff\2\46\2\uffff\2\46\4\uffff"+
        "\1\46\2\uffff\1\46\1\uffff\1\46\4\uffff\1\46\1\uffff\2\46\2\uffff"+
        "\2\46\4\uffff\1\46\1\uffff\1\46\70\uffff";
    static final String DFA7_acceptS =
        "\2\uffff\1\1\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff"+
        "\1\2\2\uffff\1\2\4\uffff\3\2\1\uffff\1\2\3\uffff\3\2\1\uffff\1\2"+
        "\4\uffff\1\2\3\uffff\3\2\1\uffff\1\2\3\uffff\1\2\3\uffff\3\2\1\uffff"+
        "\1\2\4\uffff\3\2\2\uffff\1\2\3\uffff\1\2\3\uffff\3\2\1\uffff\1\2"+
        "\2\uffff\4\2\1\uffff\4\2\1\uffff\3\2\1\uffff\5\2\1\uffff\1\2\1\uffff"+
        "\3\2\1\uffff\4\2\1\uffff\3\2\1\uffff\4\2\1\uffff\4\2\1\uffff\3\2"+
        "\1\uffff\6\2";
    static final String DFA7_specialS =
        "\u0089\uffff}>";
    static final String[] DFA7_transitionS = {
            "\37\2\1\1\3\2",
            "\24\5\1\3\12\5\1\4\3\5",
            "",
            "\24\12\1\6\10\12\1\7\1\12\1\10\3\12",
            "",
            "\24\15\1\13\12\15\1\14\3\15",
            "",
            "\24\21\1\16\12\21\1\17\3\21",
            "",
            "",
            "",
            "\24\26\1\24\10\26\1\22\1\26\1\25\3\26",
            "",
            "\24\31\1\27\12\31\1\30\3\31",
            "\24\36\1\34\10\36\1\32\1\36\1\35\3\36",
            "",
            "",
            "\24\42\1\37\12\42\1\40\3\42",
            "\24\46\1\43\12\46\1\45\3\46",
            "",
            "",
            "",
            "",
            "\24\53\1\51\10\53\1\47\1\53\1\52\3\53",
            "",
            "\24\56\1\54\12\56\1\55\3\56",
            "\24\62\1\57\12\62\1\61\3\62",
            "",
            "",
            "",
            "",
            "\24\67\1\65\10\67\1\63\1\67\1\66\3\67",
            "",
            "",
            "\24\73\1\70\12\73\1\71\3\73",
            "\24\100\1\76\10\100\1\75\1\100\1\77\3\100",
            "",
            "",
            "\24\104\1\102\12\104\1\103\3\104",
            "\24\110\1\105\12\110\1\107\3\110",
            "",
            "",
            "",
            "",
            "\24\115\1\113\10\115\1\111\1\115\1\114\3\115",
            "",
            "\24\120\1\116\12\120\1\117\3\120",
            "\24\125\1\123\10\125\1\122\1\125\1\124\3\125",
            "",
            "",
            "\24\131\1\127\12\131\1\130\3\131",
            "\24\135\1\132\12\135\1\134\3\135",
            "",
            "",
            "",
            "",
            "\24\142\1\140\10\142\1\136\1\142\1\141\3\142",
            "",
            "",
            "\24\146\1\143\12\146\1\144\3\146",
            "",
            "\24\152\1\150\12\152\1\151\3\152",
            "",
            "",
            "",
            "",
            "\24\157\1\155\10\157\1\154\1\157\1\156\3\157",
            "",
            "\24\163\1\161\12\163\1\162\3\163",
            "\24\170\1\166\10\170\1\165\1\170\1\167\3\170",
            "",
            "",
            "\24\174\1\172\12\174\1\173\3\174",
            "\24\u0080\1\175\12\u0080\1\177\3\u0080",
            "",
            "",
            "",
            "",
            "\24\u0085\1\u0083\10\u0085\1\u0081\1\u0085\1\u0084\3\u0085",
            "",
            "\24\u0088\1\u0086\12\u0088\1\u0087\3\u0088",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
    };

    static final short[] DFA7_eot = DFA.unpackEncodedString(DFA7_eotS);
    static final short[] DFA7_eof = DFA.unpackEncodedString(DFA7_eofS);
    static final char[] DFA7_min = DFA.unpackEncodedStringToUnsignedChars(DFA7_minS);
    static final char[] DFA7_max = DFA.unpackEncodedStringToUnsignedChars(DFA7_maxS);
    static final short[] DFA7_accept = DFA.unpackEncodedString(DFA7_acceptS);
    static final short[] DFA7_special = DFA.unpackEncodedString(DFA7_specialS);
    static final short[][] DFA7_transition;

    static {
        int numStates = DFA7_transitionS.length;
        DFA7_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA7_transition[i] = DFA.unpackEncodedString(DFA7_transitionS[i]);
        }
    }

    class DFA7 extends DFA {

        public DFA7(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 7;
            this.eot = DFA7_eot;
            this.eof = DFA7_eof;
            this.min = DFA7_min;
            this.max = DFA7_max;
            this.accept = DFA7_accept;
            this.special = DFA7_special;
            this.transition = DFA7_transition;
        }
        public String getDescription() {
            return "()* loopback of 141:18: ( options {greedy=false; } : . )*";
        }
    }
    static final String DFA8_eotS =
        "\u014d\uffff";
    static final String DFA8_eofS =
        "\1\uffff\1\4\1\uffff\1\4\1\uffff\1\2\1\uffff\1\22\1\uffff\1\23\1"+
        "\uffff\1\2\4\uffff\1\2\1\uffff\1\42\1\uffff\1\46\1\50\1\uffff\1"+
        "\57\1\60\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\4\uffff\1\2\2\uffff"+
        "\2\110\1\uffff\1\120\1\122\1\uffff\1\122\1\135\2\137\1\uffff\1\147"+
        "\1\151\1\uffff\1\160\1\161\1\uffff\1\2\4\uffff\1\2\1\uffff\1\2\1"+
        "\uffff\1\2\1\uffff\1\2\1\uffff\1\2\4\uffff\1\2\3\uffff\1\u0096\1"+
        "\u009d\3\u00a0\1\uffff\1\u00ab\1\u00ad\1\uffff\1\u00ad\1\u00b8\1"+
        "\u00ba\1\uffff\1\u00ba\1\u00c5\3\u00c8\1\uffff\1\u00d3\1\u00d5\1"+
        "\uffff\1\u00d5\1\u00e0\1\u00e2\1\uffff\2\u00e2\1\uffff\1\u00ee\1"+
        "\u00f0\1\uffff\1\u00f0\1\u00fb\2\u00fd\1\uffff\1\u0105\1\u0107\1"+
        "\uffff\1\u010e\1\u010f\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\4\uffff"+
        "\1\2\1\uffff\1\2\1\uffff\1\2\4\uffff\1\2\1\uffff\1\2\1\uffff\1\2"+
        "\1\uffff\1\2\1\uffff\1\2\4\uffff\1\2\u00b5\uffff";
    static final String DFA8_minS =
        "\2\4\1\uffff\1\4\1\uffff\3\4\1\uffff\1\4\1\uffff\1\4\4\uffff\2\4"+
        "\1\0\1\uffff\2\4\1\uffff\2\4\1\uffff\1\4\1\uffff\1\4\1\uffff\1\4"+
        "\4\uffff\2\4\1\uffff\1\0\1\4\1\uffff\2\4\1\uffff\3\4\1\0\1\uffff"+
        "\2\4\1\uffff\2\4\1\uffff\1\4\4\uffff\1\4\1\uffff\1\4\1\uffff\1\4"+
        "\1\uffff\1\4\1\uffff\1\4\4\uffff\2\4\2\uffff\3\4\1\0\1\4\1\uffff"+
        "\2\4\1\uffff\3\4\1\uffff\3\4\1\0\1\4\1\uffff\2\4\1\uffff\3\4\1\uffff"+
        "\1\0\1\4\1\uffff\2\4\1\uffff\3\4\1\0\1\uffff\2\4\1\uffff\2\4\1\uffff"+
        "\1\4\1\uffff\1\4\1\uffff\1\4\4\uffff\1\4\1\uffff\1\4\1\uffff\1\4"+
        "\4\uffff\1\4\1\uffff\1\4\1\uffff\1\4\1\uffff\1\4\1\uffff\1\4\4\uffff"+
        "\2\4\u00b4\uffff";
    static final String DFA8_maxS =
        "\2\46\1\uffff\1\46\1\uffff\3\46\1\uffff\1\46\1\uffff\1\46\4\uffff"+
        "\2\46\1\0\1\uffff\2\46\1\uffff\2\46\1\uffff\1\46\1\uffff\1\46\1"+
        "\uffff\1\46\4\uffff\2\46\1\uffff\1\0\1\46\1\uffff\2\46\1\uffff\3"+
        "\46\1\0\1\uffff\2\46\1\uffff\2\46\1\uffff\1\46\4\uffff\1\46\1\uffff"+
        "\1\46\1\uffff\1\46\1\uffff\1\46\1\uffff\1\46\4\uffff\2\46\2\uffff"+
        "\3\46\1\0\1\46\1\uffff\2\46\1\uffff\3\46\1\uffff\3\46\1\0\1\46\1"+
        "\uffff\2\46\1\uffff\3\46\1\uffff\1\0\1\46\1\uffff\2\46\1\uffff\3"+
        "\46\1\0\1\uffff\2\46\1\uffff\2\46\1\uffff\1\46\1\uffff\1\46\1\uffff"+
        "\1\46\4\uffff\1\46\1\uffff\1\46\1\uffff\1\46\4\uffff\1\46\1\uffff"+
        "\1\46\1\uffff\1\46\1\uffff\1\46\1\uffff\1\46\4\uffff\2\46\u00b4"+
        "\uffff";
    static final String DFA8_acceptS =
        "\2\uffff\1\1\1\uffff\1\2\5\uffff\1\2\1\uffff\1\2\1\uffff\2\2\3\uffff"+
        "\1\2\5\uffff\1\2\3\uffff\1\2\1\uffff\1\2\1\uffff\2\2\5\uffff\1\2"+
        "\7\uffff\1\2\5\uffff\1\2\2\uffff\3\2\3\uffff\1\2\3\uffff\1\2\1\uffff"+
        "\1\2\1\uffff\2\2\11\uffff\1\2\14\uffff\1\2\11\uffff\1\2\7\uffff"+
        "\1\2\5\uffff\1\2\3\uffff\1\2\2\uffff\3\2\3\uffff\1\2\2\uffff\3\2"+
        "\3\uffff\1\2\3\uffff\1\2\1\uffff\1\2\1\uffff\2\2\3\uffff\10\2\1"+
        "\uffff\3\2\2\uffff\10\2\1\uffff\3\2\1\uffff\10\2\1\uffff\3\2\1\uffff"+
        "\10\2\1\uffff\3\2\2\uffff\10\2\1\uffff\3\2\1\uffff\10\2\1\uffff"+
        "\3\2\2\uffff\10\2\1\uffff\3\2\1\uffff\10\2\1\uffff\3\2\1\uffff\5"+
        "\2\1\uffff\7\2\1\uffff\4\2\1\uffff\4\2\1\uffff\3\2\1\uffff\3\2\1"+
        "\uffff\4\2\1\uffff\3\2\1\uffff\3\2\1\uffff\4\2\1\uffff\3\2\1\uffff"+
        "\4\2\1\uffff\3\2\1\uffff\4\2\1\uffff\4\2";
    static final String DFA8_specialS =
        "\u014d\uffff}>";
    static final String[] DFA8_transitionS = {
            "\24\2\1\1\16\2",
            "\24\6\1\5\10\6\1\3\5\6",
            "",
            "\24\11\1\7\16\11",
            "",
            "\24\16\1\14\10\16\1\13\1\16\1\12\3\16",
            "\24\21\1\20\12\21\1\17\3\21",
            "\24\25\1\24\10\25\1\23\5\25",
            "",
            "\24\30\1\27\16\30",
            "",
            "\24\34\1\32\12\34\1\31\3\34",
            "",
            "",
            "",
            "",
            "\24\41\1\37\10\41\1\36\1\41\1\35\3\41",
            "\24\44\1\43\12\44\1\42\3\44",
            "\1\uffff",
            "",
            "\24\52\1\51\10\52\1\50\1\52\1\47\3\52",
            "\24\56\1\55\12\56\1\54\3\56",
            "",
            "\24\62\1\61\10\62\1\60\5\62",
            "\24\65\1\64\16\65",
            "",
            "\24\72\1\71\10\72\1\67\1\72\1\66\3\72",
            "",
            "\24\76\1\74\12\76\1\73\3\76",
            "",
            "\24\102\1\100\12\102\1\77\3\102",
            "",
            "",
            "",
            "",
            "\24\107\1\105\10\107\1\104\1\107\1\103\3\107",
            "\24\112\1\111\12\112\1\110\3\112",
            "",
            "\1\uffff",
            "\24\117\1\116\12\117\1\115\3\117",
            "",
            "\24\124\1\123\10\124\1\122\1\124\1\121\3\124",
            "\24\130\1\127\12\130\1\126\3\130",
            "",
            "\24\134\1\133\12\134\1\132\3\134",
            "\24\141\1\140\10\141\1\137\1\141\1\136\3\141",
            "\24\145\1\144\12\145\1\143\3\145",
            "\1\uffff",
            "",
            "\24\153\1\152\10\153\1\151\1\153\1\150\3\153",
            "\24\157\1\156\12\157\1\155\3\157",
            "",
            "\24\163\1\162\10\163\1\161\5\163",
            "\24\166\1\165\16\166",
            "",
            "\24\172\1\170\12\172\1\167\3\172",
            "",
            "",
            "",
            "",
            "\24\177\1\176\10\177\1\174\1\177\1\173\3\177",
            "",
            "\24\u0083\1\u0081\12\u0083\1\u0080\3\u0083",
            "",
            "\24\u0088\1\u0087\10\u0088\1\u0085\1\u0088\1\u0084\3\u0088",
            "",
            "\24\u008c\1\u008a\12\u008c\1\u0089\3\u008c",
            "",
            "\24\u0090\1\u008e\12\u0090\1\u008d\3\u0090",
            "",
            "",
            "",
            "",
            "\24\u0095\1\u0093\10\u0095\1\u0092\1\u0095\1\u0091\3\u0095",
            "\24\u0098\1\u0097\12\u0098\1\u0096\3\u0098",
            "",
            "",
            "\24\u009c\1\u009a\12\u009c\1\u009b\3\u009c",
            "\24\u00a1\1\u009f\10\u00a1\1\u00a0\1\u00a1\1\u009e\3\u00a1",
            "\24\u00a5\1\u00a4\12\u00a5\1\u00a3\3\u00a5",
            "\1\uffff",
            "\24\u00aa\1\u00a8\12\u00aa\1\u00a9\3\u00aa",
            "",
            "\24\u00af\1\u00ae\10\u00af\1\u00ad\1\u00af\1\u00ac\3\u00af",
            "\24\u00b3\1\u00b2\12\u00b3\1\u00b1\3\u00b3",
            "",
            "\24\u00b7\1\u00b5\12\u00b7\1\u00b6\3\u00b7",
            "\24\u00bc\1\u00bb\10\u00bc\1\u00ba\1\u00bc\1\u00b9\3\u00bc",
            "\24\u00c0\1\u00bf\12\u00c0\1\u00be\3\u00c0",
            "",
            "\24\u00c4\1\u00c2\12\u00c4\1\u00c3\3\u00c4",
            "\24\u00c9\1\u00c7\10\u00c9\1\u00c8\1\u00c9\1\u00c6\3\u00c9",
            "\24\u00cd\1\u00cc\12\u00cd\1\u00cb\3\u00cd",
            "\1\uffff",
            "\24\u00d2\1\u00d0\12\u00d2\1\u00d1\3\u00d2",
            "",
            "\24\u00d7\1\u00d6\10\u00d7\1\u00d5\1\u00d7\1\u00d4\3\u00d7",
            "\24\u00db\1\u00da\12\u00db\1\u00d9\3\u00db",
            "",
            "\24\u00df\1\u00dd\12\u00df\1\u00de\3\u00df",
            "\24\u00e4\1\u00e3\10\u00e4\1\u00e2\1\u00e4\1\u00e1\3\u00e4",
            "\24\u00e8\1\u00e7\12\u00e8\1\u00e6\3\u00e8",
            "",
            "\1\uffff",
            "\24\u00ed\1\u00ec\12\u00ed\1\u00eb\3\u00ed",
            "",
            "\24\u00f2\1\u00f1\10\u00f2\1\u00f0\1\u00f2\1\u00ef\3\u00f2",
            "\24\u00f6\1\u00f5\12\u00f6\1\u00f4\3\u00f6",
            "",
            "\24\u00fa\1\u00f9\12\u00fa\1\u00f8\3\u00fa",
            "\24\u00ff\1\u00fe\10\u00ff\1\u00fd\1\u00ff\1\u00fc\3\u00ff",
            "\24\u0103\1\u0102\12\u0103\1\u0101\3\u0103",
            "\1\uffff",
            "",
            "\24\u0109\1\u0108\10\u0109\1\u0107\1\u0109\1\u0106\3\u0109",
            "\24\u010d\1\u010c\12\u010d\1\u010b\3\u010d",
            "",
            "\24\u0111\1\u0110\10\u0111\1\u010f\5\u0111",
            "\24\u0114\1\u0113\16\u0114",
            "",
            "\24\u0119\1\u0118\10\u0119\1\u0116\1\u0119\1\u0115\3\u0119",
            "",
            "\24\u011d\1\u011b\12\u011d\1\u011a\3\u011d",
            "",
            "\24\u0121\1\u011f\12\u0121\1\u011e\3\u0121",
            "",
            "",
            "",
            "",
            "\24\u0126\1\u0125\10\u0126\1\u0123\1\u0126\1\u0122\3\u0126",
            "",
            "\24\u012a\1\u0128\12\u012a\1\u0127\3\u012a",
            "",
            "\24\u012e\1\u012c\12\u012e\1\u012b\3\u012e",
            "",
            "",
            "",
            "",
            "\24\u0133\1\u0132\10\u0133\1\u0130\1\u0133\1\u012f\3\u0133",
            "",
            "\24\u0137\1\u0135\12\u0137\1\u0134\3\u0137",
            "",
            "\24\u013c\1\u013b\10\u013c\1\u0139\1\u013c\1\u0138\3\u013c",
            "",
            "\24\u0140\1\u013e\12\u0140\1\u013d\3\u0140",
            "",
            "\24\u0144\1\u0142\12\u0144\1\u0141\3\u0144",
            "",
            "",
            "",
            "",
            "\24\u0149\1\u0147\10\u0149\1\u0146\1\u0149\1\u0145\3\u0149",
            "\24\u014c\1\u014b\12\u014c\1\u014a\3\u014c",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
    };

    static final short[] DFA8_eot = DFA.unpackEncodedString(DFA8_eotS);
    static final short[] DFA8_eof = DFA.unpackEncodedString(DFA8_eofS);
    static final char[] DFA8_min = DFA.unpackEncodedStringToUnsignedChars(DFA8_minS);
    static final char[] DFA8_max = DFA.unpackEncodedStringToUnsignedChars(DFA8_maxS);
    static final short[] DFA8_accept = DFA.unpackEncodedString(DFA8_acceptS);
    static final short[] DFA8_special = DFA.unpackEncodedString(DFA8_specialS);
    static final short[][] DFA8_transition;

    static {
        int numStates = DFA8_transitionS.length;
        DFA8_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA8_transition[i] = DFA.unpackEncodedString(DFA8_transitionS[i]);
        }
    }

    class DFA8 extends DFA {

        public DFA8(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 8;
            this.eot = DFA8_eot;
            this.eof = DFA8_eof;
            this.min = DFA8_min;
            this.max = DFA8_max;
            this.accept = DFA8_accept;
            this.special = DFA8_special;
            this.transition = DFA8_transition;
        }
        public String getDescription() {
            return "()* loopback of 143:9: ( options {greedy=false; } : . )*";
        }
    }
 

    public static final BitSet FOLLOW_BLOQOP_in_bloque920 = new BitSet(new long[]{0x0000007FFFFFFFF0L});
    public static final BitSet FOLLOW_BLOQCL_in_bloque934 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_definiciones_in_fichero942 = new BitSet(new long[]{0x0000000200000040L});
    public static final BitSet FOLLOW_bloque_in_fichero945 = new BitSet(new long[]{0x0000000200000000L});
    public static final BitSet FOLLOW_SECCION_in_fichero949 = new BitSet(new long[]{0x0000007DFFFFFFF0L});
    public static final BitSet FOLLOW_reglas_in_fichero951 = new BitSet(new long[]{0x0000000200000002L});
    public static final BitSet FOLLOW_SECCION_in_fichero954 = new BitSet(new long[]{0x0000007FFFFFFFF0L});
    public static final BitSet FOLLOW_codigo_in_fichero956 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_definicion_in_definiciones967 = new BitSet(new long[]{0x0000000000080002L});
    public static final BitSet FOLLOW_name_in_definicion977 = new BitSet(new long[]{0x0000000800000000L});
    public static final BitSet FOLLOW_valor_in_definicion979 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ID_in_name987 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_SPACE_in_valor994 = new BitSet(new long[]{0x0000007FFFFFFFF0L});
    public static final BitSet FOLLOW_NEWLINE_in_valor1008 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_regla_in_reglas1016 = new BitSet(new long[]{0x0000007DFFFFFFF2L});
    public static final BitSet FOLLOW_patron_in_regla1025 = new BitSet(new long[]{0x0000007FFFFFFFF0L});
    public static final BitSet FOLLOW_accion_in_regla1027 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_set_in_patron1034 = new BitSet(new long[]{0x0000007FFFFFFFF0L});
    public static final BitSet FOLLOW_SPACE_in_patron1049 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NEWLINE_in_accion1068 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_EOF_in_codigo1087 = new BitSet(new long[]{0x0000000000000002L});

}